×

Validation of the JavaCard platform with implicit induction techniques. (English) Zbl 1038.68557

Nieuwenhuis, Robert (ed.), Rewriting techniques and applications. 14th international conference, RTA 2003, Valencia, Spain, June 9–11, 2003. Proceedings. Berlin: Springer (ISBN 3-540-40254-3/pbk). Lect. Notes Comput. Sci. 2706, 337-351 (2003).
Summary: 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.
For the entire collection see [Zbl 1029.00060].

MSC:

68Q42 Grammars and rewriting systems
68N99 Theory of software

Software:

Coq; Jakarta; SPIKE
PDFBibTeX XMLCite
Full Text: Link