ACM Home Page
Please provide us with feedback. Feedback
Lazy abstraction
Full text PdfPdf (2.05 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon
Pages: 58 - 70  
Year of Publication: 2002
ISBN:1-58113-450-9
Also published in ...
Authors
Thomas A. Henzinger  University of California, Berkeley, CA
Ranjit Jhala  University of California, Berkeley, CA
Rupak Majumdar  University of California, Berkeley, CA
Grégoire Sutre  Université de Bordeaux 1, 33405 Talence Cedex, France
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 26,   Downloads (12 Months): 138,   Citation Count: 124
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/503272.503279
What is a DOI?

ABSTRACT

One approach to model checking software is based on the abstract-check-refine paradigm: build an abstract model, then check the desired property, and if the check fails, refine the model and start over. We introduce the concept of lazy abstraction to integrate and optimize the three phases of the abstract-check-refine loop. Lazy abstraction continuously builds and refines a single abstract model on demand, driven by the model checker, so that different parts of the model may exhibit different degrees of precision, namely just enough to verify the desired property. We present an algorithm for model checking safety properties using lazy abstraction and describe an implementation of the algorithm applied to C programs. We also provide sufficient conditions for the termination of the method.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
 
5
 
6
D. Blei etal. Vampyre: A proof generating theorem prover. http://www.eees.berkeley.edu/rupak/Vampyre.
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
D. Detlefs, G. Nelson, and J. Saxe. Simplify theorem prover. http://researeh.eompaq.eom/SRC/ese/Simplify.html.
 
16
 
17
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In OSDI 00: Operating System Design and Implementation. Usenix Association, 2000.
 
18
 
19
 
20
 
21
 
22
 
23
C. Linet al. C-breeze: C compiler infrastructure. http://www.es.utexas.edu/users/e-breeze.
 
24
J.M. Morris. A general axiom of assignment. In Theoretical Foundations of Programming Methodology, International Summer School, pp. 25-34. Reidel, 1982.
25
 
26
G. Nelson. Techniques for Program Verification. Technical Report CSL81-10, Xerox Palo Alto Research Center, 1981.
 
27
 
28
 
29
F. Somenzi. Colorado university decision diagram package, http://vlsi.eolorado.edu/pub, 1998.
 
30
N. Sterling. Warlock: A static data race analysis tool. In USENIX Winter 1993 Technical Conference, pp. 977-106, 1993.

CITED BY  124
Collaborative Colleagues:
Thomas A. Henzinger: colleagues
Ranjit Jhala: colleagues
Rupak Majumdar: colleagues
Grégoire Sutre: colleagues