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.
Dependence Condition Graph for Semantics-based Abstract Program Slicing
CORTESI, Agostino;HALDER, RAJU
2010-01-01
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.File | Dimensione | Formato | |
---|---|---|---|
ldta10.pdf
non disponibili
Tipologia:
Documento in Pre-print
Licenza:
Accesso chiuso-personale
Dimensione
196.27 kB
Formato
Adobe PDF
|
196.27 kB | Adobe PDF | Visualizza/Apri |
I documenti in ARCA sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.