Executing Formal Specifications with Concurrent Constraint Programming
Automated Software Engineering
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
Symbolic animation of JML specifications
FM'05 Proceedings of the 2005 international conference on Formal Methods
Compiling formal specifications to oz programs
MOZ'04 Proceedings of the Second international conference on Multiparadigm Programming in Mozart/Oz
Efficient runtime invariant checking: a framework and case study
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Executing JML specifications of Java card applications: a case study
Proceedings of the 2009 ACM symposium on Applied Computing
A Case Study in JML-Assisted Software Development
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Runtime checking for program verification
RV'07 Proceedings of the 7th international conference on Runtime verification
Automatic and efficient simulation of operation contracts
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Falling back on executable specifications
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Unifying execution of imperative and declarative code
Proceedings of the 33rd International Conference on Software Engineering
Translating B machines to JML specifications
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
Formal specifications are more useful and easier to develop if they are executable. In this work, we describe a system for executing specifications written in the Java Modeling Language (JML) by translating them to constraint programs, which are then executed via the Java Constraint Kit (JCK). Our system can execute specifications written at a high level of abstraction, and the generated constraint programs are Java implementations of the translated specifications. Hence, they can be called directly from ordinary Java code.