Verification of JavaCard programs

  • This report is concerned with the formal verification of JavaCard programs, or sequentiel Java programs. A calculus in dynamic logic is presented. This calculus is implemented in KIV, and ready for use. It is the first implemented proof system for JavaCard. KIV parses the original JavaCard (or Java) program, resolves names and types in the same manner as a normal Java compiler, and produces an annotated abstract syntax tree that is the input for the verification. All sequential Java statements (i.e. all Java statements except synchronized), and all Java expressions are handled. Exceptions, breaks, static initialization, objects, dynamic method lookup, and arrays are supported. This report is intended as a reference manual for the calculus. The abstract syntax of Java programs, the proof rules, and the underlying algebraic specifications for the object store and the primitive data types, and a formal semantic is described in detail. An example proof and a list of validation programsThis report is concerned with the formal verification of JavaCard programs, or sequentiel Java programs. A calculus in dynamic logic is presented. This calculus is implemented in KIV, and ready for use. It is the first implemented proof system for JavaCard. KIV parses the original JavaCard (or Java) program, resolves names and types in the same manner as a normal Java compiler, and produces an annotated abstract syntax tree that is the input for the verification. All sequential Java statements (i.e. all Java statements except synchronized), and all Java expressions are handled. Exceptions, breaks, static initialization, objects, dynamic method lookup, and arrays are supported. This report is intended as a reference manual for the calculus. The abstract syntax of Java programs, the proof rules, and the underlying algebraic specifications for the object store and the primitive data types, and a formal semantic is described in detail. An example proof and a list of validation programs conclude the report.show moreshow less

Download full text files

Export metadata

Statistics

Number of document requests

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Kurt StenzelGND
URN:urn:nbn:de:bvb:384-opus4-323
Frontdoor URLhttps://opus.bibliothek.uni-augsburg.de/opus4/45
Series (Serial Number):Reports / Technische Berichte der Fakultät für Angewandte Informatik der Universität Augsburg (2001-05)
Type:Report
Language:English
Publishing Institution:Universität Augsburg
Release Date:2005/01/26
Tag:program verification; Java <programming language>
GND-Keyword:Programmverifikation; Java <Programmiersprache>
Institutes:Fakultät für Angewandte Informatik
Fakultät für Angewandte Informatik / Institut für Informatik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik