ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
ESP: path-sensitive program verification in polynomial time
Full text PdfPdf (332 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation table of contents
Berlin, Germany
SESSION: Program Correctness table of contents
Pages: 57 - 68  
Year of Publication: 2002
ISBN:1-58113-463-0
Also published in ...
Authors
Manuvir Das  Microsoft Research
Sorin Lerner  University of Washington
Mark Seigle  University of Washington
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 39,   Downloads (12 Months): 208,   Citation Count: 125
Additional Information:

abstract   references   cited by   index terms   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/512529.512538
What is a DOI?

ABSTRACT

In this paper, we present a new algorithm for partial program verification that runs in polynomial time and space. We are interested in checking that a program satisfies a given temporal safety property. Our insight is that by accurately modeling only those branches in a program for which the property-related behavior differs along the arms of the branch, we can design an algorithm that is accurate enough to verify the program with respect to the given property, without paying the potentially exponential cost of full path-sensitive analysis.We have implemented this "property simulation" algorithm as part of a partial verification tool called ESP. We present the results of applying ESP to the problem of verifying the file I/O behavior of a version of the GNU C compiler (gcc, 140,000 LOC). We are able to prove that all of the 646 calls to .fprintf in the source code of gcc are guaranteed to print to valid, open files. Our results show that property simulation scales to large programs and is accurate enough to verify meaningful properties.


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
7
 
8
M. Das, S. Lerner, and M. Seigle. ESP: Path-Sensitive Program Verification in Polynomial Time. Technical Report MSR-TR-2002-41, Microsoft Corporation, 2002
 
9
10
 
11
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proceedings of the sixth USENIX Conference on Operating systems design and implementation, 2000
12
13
14
 
15
16
 
17
C. A. R. Hoare. An axiomatic basis for computer programming. In C. A. R. Hoare and C. B. Jones (Ed.), Essays in Computing Science, Prentice Hall. 1989
 
18
L. Holley and B. Rosen. Qualified dataflow analysis. In Conference Record of the Seventh ACM Symposium on Principles of Programming Languages, 1980
19
 
20
21
22
23
 
24
 
25
26
27

CITED BY  125

Collaborative Colleagues:
Manuvir Das: colleagues
Sorin Lerner: colleagues
Mark Seigle: colleagues