Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
The LOOP Compiler for Java and JML
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Checking JML specifications using an extensible software model checking framework
International Journal on Software Tools for Technology Transfer (STTT)
The Spec# Programming System: Challenges and Directions
Verified Software: Theories, Tools, Experiments
FM '08 Proceedings of the 15th international symposium on Formal Methods
JML4: Towards an Industrial Grade IVE for Java and Next Generation Research Platform for JML
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Integrated and Tool-Supported Teaching of Testing, Debugging, and Verification
TFM '09 Proceedings of the 2nd International Conference on Teaching Formal Methods
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Pest: from the lab to the classroom
Proceedings of the 1st Workshop on Developing Tools as Plug-ins
Hi-index | 0.00 |
The paper summarises our experiences teaching formal program specification and verification using the specification language JML and the automated program verification tool ESC/Java2. This technology has proven to be mature and simple enough to introduce students to formal methods, even undergraduate students with no prior knowledge of formal methods and even only very basic knowledge of (Java) programming. However, there are some limitations on the kind of examples that can be comfortably tackled.