Tool-supported program abstraction for finite-state verification
Matthew B. Dwyer,John Hatcliff,Roby Joehanes,Shawn Laubach,Corina S. Păsăreanu,Hongjun Zheng,Willem Visser +6 more
- 01 Jul 2001
- pp 177-187
165
TL;DR: This paper describes how several different program analysis and transformation techniques are integrated into the Bandera toolset to provide facilities for abstracting Java programs to produce compact, finite-state models that are amenable to verification for example via model checking.
read more
Abstract: Numerous researchers have reported success in reasoning about properties of small programs using finite-state verification techniques. We believe, as do most researchers in this area, that in order to scale those initial successes to realistic programs, aggressive abstraction of program data will be necessary. Furthermore, we believe that to make abstraction-based verification usable by non-experts significant tool support will be required.In this paper, we describe how several different program analysis and transformation techniques are integrated into the Bandera toolset to provide facilities for abstracting Java programs to produce compact, finite-state models that are amenable to verification, for axample via model checking. We illustrate the application of Bandera's abstraction facilities to analyze a realistic multi-threaded Java program.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Tools and Algorithms for the Construction and Analysis of Systems. Proc. TACAS 2009
Stefan Kowalewski,Anna Philippou +1 more
- 01 Jan 2009
TL;DR: This paper presents a meta-modelling framework for modeling and testing the robustness of the modeled systems and some of the techniques used in this framework have been developed and tested in the field.
1.6K
Model checking programs
Willem Visser,Klaus Havelund,Guillaume Brat,Seungjoon Park +3 more
- 11 Sep 2000
TL;DR: A verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing, and uses state compression to handle big states and partial order and symmetry reduction, slicing, abstraction, and runtime analysis techniques to reduce the state space.
Counterexample-guided abstraction refinement for symbolic model checking
TL;DR: An automatic iterative abstraction-refinement methodology that extends symbolic model checking to large hardware designs and devise new symbolic techniques that analyze such counterexamples and refine the abstract model correspondingly.
The SLAM project: debugging system software via static analysis
Thomas Ball,Sriram K. Rajamani +1 more
- 01 Jan 2002
TL;DR: This work has successfully applied the SLAM toolkit to Windows XP device drivers, to both validate behavior and find defects in their usage of kernel APIs.
Automatic predicate abstraction of C programs
Thomas Ball,Rupak Majumdar,Todd Millstein,Sriram K. Rajamani +3 more
- 01 May 2001
TL;DR: This work presents the first algorithm to automatically construct a predicate abstraction of programs written in am industrial programming language such as C, and its implementation in a tool -- C2BP, part of the SLAM toolkit.
References
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
Patrick Cousot,Radhia Cousot +1 more
- 01 Jan 1977
TL;DR: In this paper, the abstract interpretation of programs is used to describe computations in another universe of abstract objects, so that the results of abstract execution give some information on the actual computations.
The model checker SPIN
Gerard J. Holzmann
- 01 May 1997
TL;DR: An overview of the design and structure of the verifier, its theoretical foundation, and an overview of significant practical applications are given.
•Book
The Temporal Logic of Reactive and Concurrent Systems: Specification
Amir Pnueli,Zohar Manna +1 more
- 18 Dec 1991
TL;DR: An introduction to temporal logic and a computational model for reactive systems .
3.6K
•Book
Symbolic Model Checking
Edmund M. Clarke,Kenneth L. McMillan,Sérgio Campos,Vassili Hartonas-Garmhausen +3 more
- 31 Jul 1993
TL;DR: Using symbolic model checking techniques it is possible to verify industrial-size finite state systems and models with more than 10120 states have been verified using special techniques.
Related Papers (5)
Willem Visser,Klaus Havelund,Guillaume Brat,Seungjoon Park +3 more
- 11 Sep 2000
Gerard J. Holzmann
- 01 May 1997
[...]
Thomas A. Henzinger,Ranjit Jhala,Rupak Majumdar,Grégoire Sutre +3 more
- 01 Jan 2002