Title :
Model checking programs
Author :
Visser, Willem ; Havelund, Klaus ; Brat, Guillaume ; Park, SeungJoon
Author_Institution :
Res. Inst. for Adv. Comput. Sci., NASA Ames Res. Center, Moffett Field, CA, USA
Abstract :
The majority of the work carried out in the formal methods community throughout the last three decades has (for good reasons) been devoted to special languages designed to make it easier to experiment with mechanized formal methods such as theorem provers and model checkers. In this paper, we give arguments for why we believe it is time for the formal methods community to shift some of its attention towards the analysis of programs written in modern programming languages. In keeping with this philosophy, we have developed a verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing. Part of this work has consisted of building a new Java Virtual Machine that interprets Java bytecode. JPF uses state compression to handle large states, and partial order reduction, slicing, abstraction and run-time analysis techniques to reduce the state space. JPF has been applied to a real-time avionics operating system developed at Honeywell, illustrating an intricate error, and to a model of a spacecraft controller, illustrating the combination of abstraction, run-time analysis and slicing with model checking
Keywords :
Java; aerospace computing; aerospace control; avionics; operating systems (computers); program slicing; program testing; program verification; programming environments; real-time systems; space vehicles; state-space methods; virtual machines; Java PathFinder; Java Virtual Machine; Java bytecode interpretation; abstraction; error; mechanized formal methods; model-checking programs; partial order reduction; program analysis; program slicing; program testing environment; program verification environment; programming languages; real-time avionics operating system; run-time analysis; spacecraft controller; state compression; state-space reduction; Aerospace electronics; Computer languages; Error correction; Java; Operating systems; Real time systems; Runtime; State-space methods; Testing; Virtual machining;
Conference_Titel :
Automated Software Engineering, 2000. Proceedings ASE 2000. The Fifteenth IEEE International Conference on
Conference_Location :
Grenoble
Print_ISBN :
0-7695-0710-7
DOI :
10.1109/ASE.2000.873645