ACM Home Page
Please provide us with feedback. Feedback
Path slicing
Full text PdfPdf (304 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation table of contents
Chicago, IL, USA
SESSION: Bug detection and verification table of contents
Pages: 38 - 47  
Year of Publication: 2005
ISBN:1-59593-056-6
Also published in ...
Authors
Ranjit Jhala  University of California at San Diego
Rupak Majumdar  University of California at Los Angeles
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 120,   Citation Count: 15
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/1065010.1065016
What is a DOI?

ABSTRACT

We present a new technique, path slicing, that takes as input a possibly infeasible path to a target location, and eliminates all the operations that are irrelevant towards the reachability of the target location. A path slice is a subsequence of the original path whose infeasibility guarantees the infeasibility of the original path, and whose feasibility guarantees the existence of some feasible variant of the given path that reaches the target location even though the given path may itself be infeasible. Our method combines the ability of program slicing to look at several program paths, with the precision that dynamic slicing enjoys by focusing on a single path. We have implemented Path Slicing to analyze possible counterexamples returned by the software model checker Blast. We show its effectiveness in drastically reducing the size of the counterexamples to less than 1% of their original size. This enables the precise verification of application programs (upto 100KLOC), by allowing the analysis to focus on the part of the counterexample that is relevant to the property being checked.


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
S. Basu, D. Saha, and S. A. Smolka. Localizing program errors for Cimple debugging. In FORTE 04: Formal Techniques for Networked and Distributed Systems, LNCS 3235, pages 79--96. Springer, 2004.
 
5
 
6
 
7
S. Chaki, J. Ouaknine, K. Yorav, and E. M. Clarke. Automated compositional abstraction refinement for concurrent C programs: A two-level approach. In SoftMC 03: Software Model Checking, 2003.
8
9
 
10
11
 
12
C. Flanagan, R. Joshi, X. Ou, and J. B. Saxe. Theorem proving using lazy proof explication. In CAV 03, LNCS, pages 355--367, 2003.
13
14
 
15
Grammatech. Codesurfer 1.9. Technical report, 2004.
 
16
A. Groce and W. Visser. What went wrong: Explaining counterexamples. In SPIN 03: SPIN Workshop, LNCS 2648, pages 121--135. Springer, 2003.
17
18
19
 
20
21
22
23
 
24
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3:121--189, 1995.
 
25
26
27

CITED BY  15

Collaborative Colleagues:
Ranjit Jhala: colleagues
Rupak Majumdar: colleagues