Automated theorem proving by test set induction
Journal of Symbolic Computation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Term rewriting and all that
A type system for Java bytecode subroutines
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type system for object initialization in the Java bytecode language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Java Card Technology for Smart Cards: Architecture and Programmer's Guide
Term Rewriting Systems
Theoretical Computer Science
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Type Structure for Low-Level Programming Languages
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
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
Efficient Reasoning about Executable Specifications in Coq
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
A Formal Correspondence between Offensive and Defensive JavaCard Virtual Machines
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Byte Code Verification for Java Smart Card Based on Model Checking
ESORICS '98 Proceedings of the 5th European Symposium on Research in Computer Security
Formal Proof of Smart Card Applets Correctness
CARDIS '98 Proceedings of the The International Conference on Smart Card Research and Applications
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
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
Jakarta: A Toolset for Reasoning about JavaCard
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
Extended Static Checking: A Ten-Year Perspective
Informatics - 10 Years Back. 10 Years Ahead.
Development of an Embedded Verifier for Java Card Byte Code Using Formal Methods
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Java Bytecode Verification: An Overview
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Formal Development of an Embedded Verifier for Java Card Byte Code
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
A Formal Executable Semantics of the JavaCard Platform
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Theoretical Computer Science - Foundations of software science and computation structures
Secure Information Flow and Pointer Confinement in a Java-like Language
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward Refinements
Fundamenta Informaticae - This is a SPECIAL ISSUE ON ASM'05
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
Validation of the JavaCard platform with implicit induction techniques
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Certifying native java card API by formal refinement
CARDIS'06 Proceedings of the 7th IFIP WG 8.8/11.2 international conference on Smart Card Research and Advanced Applications
A framework for certified program analysis and its applications to mobile-code safety
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Retrenching the Purse: The Balance Enquiry Quandary, and Generalised and (1,1) Forward Refinements
Fundamenta Informaticae - This is a SPECIAL ISSUE ON ASM'05
Hi-index | 0.00 |
Bytecode verification is one of the key security functions of the JavaCard architecture. Its correctness is often cast relatively to a defensive virtual machine that performs checks at run-time, and an offensive one that does not, and can be summarized as stating that the two machines coincide on programs that pass bytecode verification. We review the process of establishing such a correctness statement in a proof assistant, and focus in particular on the problem of automating the construction of an offensive virtual machine and a bytecode verifier from a defensive machine.