| 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): 9, Downloads (12 Months): 102, Citation Count: 15
|
|
|
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 15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|