The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
The Smart Cards: A Developer's Toolkit
The Smart Cards: A Developer's Toolkit
Computer
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
Invited Talk Static and dynamic analysis: synergy and duality
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Verified Software: A Grand Challenge
Computer
Specification and verification challenges for sequential object-oriented programs
Formal Aspects of Computing
Verifying the Mondex Case Study
SEFM '07 Proceedings of the Fifth IEEE International Conference on Software Engineering and Formal Methods
Tutorial on JML, the java modeling language
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Specification, proof, and model checking of the Mondex electronic purse using RAISE
Formal Aspects of Computing
Mechanising Mondex with Z/Eves
Formal Aspects of Computing
Implementing Java modeling language contracts with AspectJ
Proceedings of the 2008 ACM symposium on Applied computing
The KeY system 1.0 (Deduction Component)
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
JML Runtime Assertion Checking: Improved Error Reporting and Efficiency Using Strong Validity
FM '08 Proceedings of the 15th international symposium on Formal Methods
Specification and Runtime Verification of Java Card Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Combined Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Combining static and dynamic reasoning for bug detection
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Z/Eves and the mondex electronic purse
ICTAC'06 Proceedings of the Third international conference on Theoretical Aspects of Computing
Load time code validation for mobile phone Java Cards
Journal of Information Security and Applications
Hi-index | 0.00 |
Java Card is a version of Java developed to run on devices with severe storage and processing restrictions. The applets that run on these devices are frequently intended for use in critical, highly distributed, mobile conditions. They are required to be portable and safe. Often, the requirements of the application impose the use of dynamic, on-card verifications, but most of the research developed to improve the safety of Java Card applets concentrates on static verification methods. This work presents a runtime verification approach based on Design by Contract to improve the safety of Java Card applications. To this end, we propose JCML (Java Card Modelling Language) a specification language derived from JML (Java Modelling Language) and its implementation: a compiler that generates runtime verification code. We also present some experiments and quality indicators. This paper extends previous published work from the authors with a more complete and precise definition of the JCML language and new experiments and results.