Using induction and rewriting to verify and complete parameterized specifications
Theoretical Computer Science
Automated theorem proving by test set induction
Journal of Symbolic Computation
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
A general framework to build contextual cover set
Journal of Symbolic Computation - Calculemus-99: integrating computation and deduction
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
External Rewriting for Skeptical Proof Assistants
Journal of Automated Reasoning
Tool-Assisted Specification and Verification of the JavaCard Platform
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
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
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
Formal Development of an Embedded Verifier for Java Card Byte Code
DSN '02 Proceedings of the 2002 International Conference on Dependable Systems and Networks
Theoretical Computer Science - Foundations of software science and computation structures
A Meta-Notation for Protocol Analysis
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
Combining Rewriting with Noetherian Induction to Reason on Non-orientable Equalities
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
Integrating implicit induction proofs into certified proof environments
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Automated certification of implicit induction proofs
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Applying a theorem prover to the verification of optimistic replication algorithms
Rewriting Computation and Proof
Hi-index | 0.00 |
The bytecode verifier (BCV), which performs a static analysis to reject potentially insecure programs, is a key security function of the Java(Card) platform. Over the last few years there have been numerous projects to prove formally the correctness of bytecode verification, but relatively little effort has been made to provide methodologies, techniques and tools that help such formalisations. In earlier work, we develop a methodology and a specification environment featuring a neutral mathematical language based on conditional rewriting, that considerably reduce the cost of specifying virtual machines. In this work, we show that such a neutral mathematical language based on conditional rewriting is also beneficial for performing automatic verifications on the specifications, and illustrate in particular how implicit induction techniques can be used for the validation of the Java(Card) Platform. More precisely, we report on the use of SPIKE, a first-order theorem prover based on implicit induction, to establish the correctness of the BCV. The results are encouraging, as many of the intermediate lemmas required to prove the BCV correct can be proved with SPIKE.