Learn More
This paper presents a case study in formal specification and verification of a smart card application. The application is an electronic purse implementation, developed by the smart card producer Gemplus as a test case for formal methods for smart cards. It has been annotated (by the authors) with specifications using the Java Modeling Language (JML), a(More)
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(More)
Benchmarks, such as the established ISCAS benchmarks of digital circuits, have been successfully used to compare the relative merits of many model–checking tools and techniques employed for verifying synchronous systems. However, no benchmark for model checkers of asynchronous concurrent systems, such as communications protocols and distributed controllers,(More)
In this work, we present a translation from B machines to JML specifications. Our work allows developers to use different formal methods techniques and tools at different software development phases. A developer can use B's strong support for model verification during early stages of software development to produce a fully verified model of the application,(More)