Dependence condition graph for semantics-based abstract program slicing

  • Authors:
  • Agostino Cortesi;Raju Halder

  • Affiliations:
  • Università Ca' Foscari di Venezia, Italy;Università Ca' Foscari di Venezia, Italy

  • Venue:
  • Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

Many slicing techniques have been proposed based on the traditional Program Dependence Graph (PDG) representation. In traditional PDGs, the notion of data dependency between statements is based on syntactic presence of a variable in the definition of another variable or in a conditional expression. Mastroeni and Zanardini introduced semantics-based data dependency both at concrete and abstract domain. This semantics-based data dependency is computed at expression level over all possible (abstract) states appearing at program points. In this paper, we strictly improve this approach by (i) considering semantic relevancy of statements (not only expressions), and (ii) adopting conditional dependency. This allows us to transform the semantics-based (abstract) PDG into a semantics-based (abstract) Dependence Condition Graph (DCG) that enables to identify the conditions for dependence between program points. The resulting program slicing algorithm designed this way is strictly more accurate than the Mastroeni and Zanardini's one.