Tool-Assisted Specification and Verification of the JavaCard Platform
Gilles Barthe INRIA Sophia-Antipolis, France Joint work with: P . Courtieu, G. Dufay, M. Huisman,
- L. Jakubiec, B. Serpette, S. Melo de Sousa, S. Stratulat
- ✁✄✂
Tool-Assisted Specification and Verification of the JavaCard - - PowerPoint PPT Presentation
Tool-Assisted Specification and Verification of the JavaCard Platform Gilles Barthe INRIA Sophia-Antipolis, France Joint work with: P . Courtieu, G. Dufay, M. Huisman, L. Jakubiec, B. Serpette, S. Melo de Sousa, S.
Virtual Machine APIs Industry−Specific Extensions Operating System
011100011 101011010 011111001 110110111 100100110
Applet
011100011 101011010 011111001 110110111 100100110
Applet
011100011 101011010 011111001 110110111 100100110
Applet
Linking Loading
011100011 101011010 011111001 110110111 100100110
Java compiler Class File Converter Cap File Builder
package fr.inri import javacar public class no public Object
011100011 101011010 011111001 110110111 100100110
Bytecode verifier Class file
Java source Cap file
D e f i n i t i o n NEW : = [ idx : cap_class_idx ] [ state : jcvm_state ] Cases ( stack_f state ) of ( cons h l f ) = > (
the owner class from thew c a p _ fi l e
Cases ( Nth_elt ( classes cap ) idx ) of (
i s created and pushed i n t o the heap
(Some c l ) = > l e t new_obj = . . . in ( Normal ( Build_jcvm_state ( sheap_f state ) ( app ( heap_f state ) new_obj ) (
reference
the created
i s pushed i n t o the
( cons ( update_opstack ( cons ( vRef ( vRef_instance idx ( S ( length ( heap_f state ) l f ) ) ) | None = > ( AbortCode class_membership_error state ) end | _ = > ( AbortCode state_error state ) end .