Formal Semantics for the Java Modeling Language
A common critique of formal methods in software development practise is, that they are not readily understandable and thus not widely used. The Java Modeling Language (JML) was created in an attempt to bridge that gap. By building upon the syntax of Java it is meant to be easily accessible to the common user - who might not be skilled in formal modeling. Due to this advantage, JML has quickly become one of most popular specification languages to use with both static and run-time analysis of programs. JML specifications are written in a Java-like expression language as comments straight into source files.