| Putting static analysis to work for verification: A case study |
| Full text |
Pdf
(513 KB)
|
| Source
|
International Symposium on Software Testing and Analysis
archive
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
table of contents
Portland, Oregon, United States
Pages: 26 - 38
Year of Publication: 2000
ISBN:1-58113-266-2
Also published in ...
|
|
Authors
|
|
Tal Lev-Ami
|
Tel-Aviv Univ., Tel-Aviv, Israel
|
|
Thomas Reps
|
Comp. Sci. Dept., Univ. of Wisconsin, Madison, WI
|
|
Mooly Sagiv
|
Dept. of Comp. Sci., Tel-Aviv Univ., Tel-Aviv, Israel
|
|
Reinhard Wilhelm
|
Informatik, Univ. of Saarlandes, Saarbrucken, Germany
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 11, Downloads (12 Months): 109, Citation Count: 16
|
|
|
ABSTRACT
A method for finding bugs in code is presented. For given small numbers j and k, the code of a procedure is translated into a rela-tional formula whose models represent all execution traces that involve at most j heap cells and k loop iterations. This formula is conjoined with the negation of the procedure's specification. The models of the resulting formula, obtained using a constraint solver, are counterexamples: executions of the code that violate the specification.The method can analyze millions of executions in seconds, and thus rapidly expose quite subtle flaws. It can accommodate calls to procedures for which specifications but no code is avail-able. A range of standard properties (such as absence of null pointer dereferences) can also be easily checked, using prede-fined specifications.
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
|
T.E.Cheatham,Jr.,G.H.Holloway,and J.A.Townley. Symbolic evaluation and the analysis of programs.IEEE Trans. on Softw. Eng.,5(4):402 -417,1979.
|
| |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
L.P.Deutsch.An Interactive Program Verifier PhDthesis,Univ.of California,Berkeley,CA,1973.
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
C.A.R.Hoare.Recursive data structures.Int. J. of Comp. and Inf. Sci.,4(2):105 -132,1975.
|
 |
16
|
Jakob L. Jensen , Michael E. Jørgensen , Michael I. Schwartzbach , Nils Klarlund, Automatic verification of pointer programs using monadic second-order logic, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.226-234, June 16-18, 1997, Las Vegas, Nevada, United States
|
| |
17
|
|
| |
18
|
T.Lev-Ami.TVLA:A framework for Kleene based static analysis.Master 's thesis,Tel-Aviv University,2000. Available at http://www.math.tau.ac.il/ ~tla.
|
| |
19
|
|
| |
20
|
|
| |
21
|
J.M.Morris.Assignment and linked data structures.In M.Broy and G.Schmidt,editors,Theoretical Founda-tions of Programming Methodology pages 35 -41.D.Reidel Publishing Co.,Boston,MA,1982.
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
M.Sagiv,T.Reps,and R.Wilhelm.Parametric shape analysis via 3-valued logic.Tech.Rep.TR- 1383,Comp.Sci.Dept.,Univ.of Wisconsin,Madison, WI,August 1998.(Revised March 2000.)Available at "http://www.cs.wisc.edu/wpis/papers/parametric.ps ".
|
 |
26
|
Mooly Sagiv , Thomas Reps , Reinhard Wilhelm, Parametric shape analysis via 3-valued logic, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.105-118, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292552]
|
 |
27
|
|
 |
28
|
|
| |
29
|
M.Tamir.ADI:Automatic derivation of invariants.IEEE Trans. on Softw. Eng.,6(1):40 -48,1990.
|
 |
30
|
|
CITED BY 16
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Martin Rinard , Cristian Cadar , Huu Hai Nguyen, Exploring the acceptability envelope, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.4
Software/Program Verification
Subjects:
Correctness proofs
General Terms:
Algorithms,
Design,
Measurement,
Performance,
Reliability,
Theory,
Verification
Keywords:
alloy language,
constraint solvers,
detecting bugs,
model checking,
relational formulas,
static analysis,
testing
|