Specifications are not (necessarily) executable
Software Engineering Journal
Handbook of Automated Reasoning: Volume 1
Handbook of Automated Reasoning: Volume 1
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
CHASE: A Static Checker for JML's Assignable Clause
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Formal Specification and Static Checking of Gemplus' Electronic Purse Using ESC/Java
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
A Case Study in JML-Based Software Validation
Proceedings of the 19th IEEE international conference on Automated software engineering
Formal methods for smart cards: an experience report
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
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
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
An integrated verification environment for JML: architecture and early results
Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
jmle: a tool for executing JML specifications via constraint programming
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
Symbolic animation of JML specifications
FM'05 Proceedings of the 2005 international conference on Formal Methods
Automatic and efficient simulation of operation contracts
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Unifying execution of imperative and declarative code
Proceedings of the 33rd International Conference on Software Engineering
Lightweight verification of a multi-task threaded server: a case study with the plural tool
FMICS'11 Proceedings of the 16th international conference on Formal methods for industrial critical systems
Translating B machines to JML specifications
Proceedings of the 27th Annual ACM Symposium on Applied Computing
A case study on the lightweight verification of a multi-threaded task server
Science of Computer Programming
Hi-index | 0.00 |
Executability provides an important mechanism for validating formal specifications and allows such specifications to serve as prototypes and test oracles. In this case study, we used the jmle tool to execute the JML specification of an electronic purse application written in the Java Card dialect of Java. This effort resulted in numerous improvements to the specification and to the jmle tool itself, as well as insight into how executability can contribute to the use of formal methods in the software development process.