FM2021Top-tier venue
Formal Verification of a JavaCard Virtual Machine with Frama-C
Adel Djoudi, Martin Hána, Nikolai Kosmatov
Abstract
Formal verification of real-life industrial software remains a challenging task. It provides strong guarantees of correctness, which are particularly important for security-critical products, such as smart cards. Security of a smart card strongly relies on the requirement that the underlying JavaCard virtual machine ensures necessary isolation properties. This case study paper presents a recent formal verification of a JavaCard Virtual Machine implementation performed by Thales using the Frama-C verification toolset. This is the first verification project for such a large-scale industrial smart card product where deductive verification is applied on the real-life C code. The target properties include common security properties such as integrity and confidentiality. The implementation contains over 7,000 lines of C code. After a formal specification in the ACSL specification language, over 52,000 verification conditions were generated and successfully proved. We present several issues identified during the project, illustrate them by representative examples and present solutions we used to solve them. Finally, we describe proof results, some lessons learned and desired tool improvements.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 2bde891e-1a3d-4896-bc33-72401f054179Cited by top-tier papers2
- Neural Theorem Proving for Verification Conditions: A Real-World BenchmarkQiyuan Xu, Xiaokun Luan, Renxi Wang, Joshua Ong Jun Leang et al.ICLR 2026 · 6 citations
- A Tale of 1001 LoC: Potential Runtime Error-Guided Specification Synthesis for Verifying Large-Scale ProgramsZhongyi Wang, Tengjie Lin, Mingshuai Chen, Haokun Li et al.OOPSLA 2026 · 1 citation
Related papers
- The EMV Standard: Break, Fix, VerifyDavid A. Basin, Ralf Sasse, Jorge Toro-PozoS&P 2021 · 69 citations
- Foundational Integration Verification of a Cryptographic ServerAndres Erbsen, Jade Philipoom, Dustin Jamner, Ashley Lin et al.PLDI 2024 · 8 citations
- ARMOR: A Formally Verified Implementation of X.509 Certificate Chain ValidationJoyanta Debnath, Christa Jenkins, Yuteng Sun, Sze Yiu Chau et al.S&P 2024 · 6 citations
- Scalability and precision by combining expressive type systems and deductive verificationFlorian Lanzinger, Alexander Weigl, Mattias Ulbrich, Werner DietlOOPSLA 2021 · 6 citations
- Islaris: verification of machine code against authoritative ISA semanticsMichael Sammler, Angus Hammond, Rodolphe Lepigre, Brian Campbell et al.PLDI 2022 · 28 citations
