Verifying Object-Oriented Programs with KeY: A Tutorial
نویسندگان
چکیده
This paper is a tutorial on performing formal specification and semi-automatic verification of Java programs with the formal software development tool KeY. This tutorial aims to fill the gap between elementary introductions using toy examples and state-of-art case studies by going through a self-contained, yet non-trivial, example. It is hoped that this contributes to explain the problems encountered in verification of imperative, object-oriented programs to a readership outside the limited community of active researchers.
منابع مشابه
Formal Object-Oriented Methods
Basing software construction on formal methods is a key issue when dealing with the production of reliable programs. Formal object-oriented methods combine the advantages of objectorientation—notably its powerful modelling capabilities—and those of formal methods—such as verifiability of program properties. Our tutorial reports on the state of the art in formal objectoriented methods. The issue...
متن کاملSpecifying and Verifying Object-Oriented Programs: An Overview of the Problems and a Solution TR91-06
This paper presents a careful analysis of the problem of reasoning about objectoriented programs. A solution to this problem allows new types to be added to a program without respecifying or reverifying unchanged modules | if the new types are subtypes of existing types. The key idea is that subtype relationships must satisfy certain semantic constraints based on the types' speci ed behavior. T...
متن کاملSpecifying and Verifying Object-Oriented Programs: An Overview of the Problems and a Solution
This paper presents a careful analysis of the problem of reasoning about objectoriented programs. A solution to this problem allows new types to be added to a program without respecifying or reverifying unchanged modules | if the new types are subtypes of existing types. The key idea is that subtype relationships must satisfy certain semantic constraints based on the types' speci ed behavior. T...
متن کاملVerifying Concurrent C Programs with VCC
This tutorial provides basic information about developing specifications and annotations for concurrent C programs, so that they can be verified with VCC. [TODO: add more]
متن کاملVerifying Parallel Programs with MPI-Spin
Standard testing and debugging techniques are notoriously ineffective when applied to parallel programs, due to the numerous sources of nondeterminism arising from parallelism. MPI-Spin, an extension of the model checker Spin for verifying and debugging MPI-based parallel programs, overcomes many of the limitations associated with the standard techniques. By exploring all possible executions of...
متن کامل