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. Copyright 2005 ACM.
Author supplied keywords
Cite
CITATION STYLE
Jhala, R., & Majumdar, R. (2005). Path slicing. ACM SIGPLAN Notices, 40(6), 38–47. https://doi.org/10.1145/1064978.1065016
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.