The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Bytecode verification on Java smart cards
Software—Practice & Experience
A Formal Specification of Java Virtual Machine Instructions for Objects, Methods and Subrountines
Formal Syntax and Semantics of Java
On-Card Bytecode Verification for Java Card
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
Tool-Assisted Specification and Verification of the JavaCard Platform
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Theoretical Computer Science - Foundations of software science and computation structures
Journal of Automated Reasoning
Increasing smart card dependability
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Object oriented concepts identification from formal B specifications
Formal Methods in System Design
Object Oriented Concepts Identification from Formal B Specifications
Electronic Notes in Theoretical Computer Science (ENTCS)
Dynamic graphical UML views from formal B specifications
Information and Software Technology
Extending B with control flow breaks
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Derivation of UML class diagrams as static views of formal b developments
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Formal verification of security properties of smart card embedded source code
FM'05 Proceedings of the 2005 international conference on Formal Methods
A formal approach to model multiagent interactions using the b formal method
ISSADS'05 Proceedings of the 5th international conference on Advanced Distributed Systems
Hi-index | 0.00 |
The Java security policy is implemented using security components such as a Java Virtual Machine (JVM), API, verifier, and a loader. It is of prime importance to ensure that these components are implemented in accordance with their specifications. Formal methods can be used to bring the mathematical proof that their implementation corresponds to their specification. In this paper, we introduce the formal development of a complete byte code verifier for Java Card and its on-card integration. In particular, we aim to focus on the model and the proof of the complete type verifier for the Java Card language. The global architecture of the verification process implemented in this real industrial case study is described and the detailed specification of the type verifier is discusses as well as its proof. Moreover, this paper presents a comparison between formal and traditional development, summing up the pros and cons of using formal methods in industry.