ACM Home Page
Please provide us with feedback. Feedback
Guided model checking for programs with polymorphism
Full text PdfPdf (802 KB)
Source
ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation table of contents
Savannah, GA, USA
SESSION: Static analysis table of contents
Pages 21-30  
Year of Publication: 2009
ISBN:978-1-60558-327-3
Authors
Neha Rungta  Brigham Young University, Provo, UT, USA
Eric G. Mercer  Brigham Young University, Provo, UT, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 70,   Citation Count: 0
Additional Information:

abstract   references   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/1480945.1480950
What is a DOI?

ABSTRACT

Exhaustive model checking search techniques are ineffective for error discovery in large and complex multi-threaded software systems. Distance estimate heuristics guide the concrete execution of the program toward a possible error location. The estimate is a lower-bound computed on a statically generated abstract model of the program that ignores all data values and only considers control flow. In this paper we describe a new distance estimate heuristic that efficiently computes a tighter lower-bound in programs with polymorphism when compared to the state of the art distance heuristic. We statically generate conservative distance estimates and refine the estimates when the targets of dynamic method invocations are resolved. In our empirical analysis the state of the art approach is computationally infeasible for large programs with polymorphism while our new distance heuristic can quickly detect the errors.


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
J. Burnim and K. Sen. Heuristics for scalable dynamic test generation. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), pages 443--446. IEEE, 2008.
 
5
6
 
7
S. Edelkamp and T. Mehler. Byte code distance heuristics and trail direction for model checking Java programs. In Workshop on Model Checking and Artificial Intelligence (MoChArt), pages 69--76, 2003.
 
8
S. Edelkamp, A. L. Lafuente, and S. Leue. Trail-directed model checking. In S. D. Stoller and W. Visser, editors, Electronic Notes in Theoretical Computer Science, volume 55. Elsevier Science Publishers, 2001a.
 
9
 
10
11
 
12
 
13
 
14
T. A. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. Software verification with Blast. In T. Ball and S.K.Rajamani, editors, Proceedings of the 10th International Workshop on Model Checking of Software (SPIN), volume 2648 of Lecture Notes in Computer Science, pages 235--239, Portland, OR, May 2003.
 
15
16
17
18
19
20
 
21
 
22
N. Rungta and E. G. Mercer. A meta heuristic for effectively detecting concurrency errors. In Haifa Verification Conference, To Appear., Haifa, Israel, 2008.
 
23
 
24
N. Rungta and E. G. Mercer. Generating counter-examples through randomized guided search. In Proceedings of the 14th International SPIN Workshop on Model Checking of Software, pages 39--57, Berlin, Germany, July 2007b. Springer-Verlag.
 
25
 
26
K. Sen and G. Agha. A race-detection and flipping algorithm for automated testing of multi-threaded programs. In Haifa Verification Conference, volume 4383 of Lecture Notes in Computer Science, pages 166--182. Springer, 2007. ISBN 978-3-540-70888-9.
27
 
28
29
 
30
31

Collaborative Colleagues:
Neha Rungta: colleagues
Eric G. Mercer: colleagues