Path-Sensitive backward slicing

  • Authors:
  • Joxan Jaffar;Vijayaraghavan Murali;Jorge A. Navas;Andrew E. Santosa

  • Affiliations:
  • National University of Singapore, Singapore;National University of Singapore, Singapore;The University of Melbourne, Australia;University of Sydney, Australia

  • Venue:
  • SAS'12 Proceedings of the 19th international conference on Static Analysis
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Backward slicers are typically path-insensitive (i.e., they ignore the evaluation of predicates at conditional branches) often producing too big slices. Though the effect of path-sensitivity is always desirable, the major challenge is that there are, in general, an exponential number of predicates to be considered. We present a path-sensitive backward slicer and demonstrate its practicality with real C programs. The crux of our method is a symbolic execution-based algorithm that excludes spurious dependencies lying on infeasible paths and avoids imprecise joins at merging points while reusing dependencies already computed by other paths, thus pruning the search space significantly.