Abstract Slicing: A New Approach to Program Slicing Based on Abstract Interpretation and Model Checking

  • Authors:
  • Hyoung Seok Hong;Insup Lee;Oleg Sokolsky

  • Affiliations:
  • Concordia University;University of Pennsylvania;University of Pennsylvania

  • Venue:
  • SCAM '05 Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a new approach to program slicing based on abstract interpretation and model checking. First, the notion of abstract slicing is introduced. Abstract slicing extends static slicing with predicates and constraints by using as the program model an abstract state graph, which is obtained by applying predicate abstraction to a program, rather than a flow graph. This leads to a program slice that is more precise and smaller than its static counterpart. Second, a method for performing abstract slicing is developed. It is shown that abstract slicing can be reduced to a least fixpoint computation over formulas in the branching time temporal logic CTL. This enables one to use symbolic model checkers for CTL as an efficient computation engine for abstract slicing. A prototype implementation and experimental results are reported demonstrating the feasibility of the approach.