Graph theoretic foundations of program slicing and integration

Arun Lakhotia

Abstract

This paper generalizes program slicing algorithms originally defined over representations of programs to operate over directed graphs. Doing so provides a uniform framework to model Weiser's and Ottenstein & Ottenstein's approaches to program slicing as abstract mathematical operations transparent of any concerns of a program's structure or its semantics. This transparency helps us in a) deriving calculationnal style proofs of algebraic properties of slices, b) making more general assertions about these properties than those previously established, and c) generalizing Weiser's slicing criterion to allow union of statements.

The two program integration algorithms due to Reps and Horwitz, Prins, & Reps use program slicing as an elementary operation and are generalized to integrate directed graphs. These algorithms can therefore be used to integrate versions of any artifact that may be represented as graphs, for instance versions of specification and design of software systems.

Full paper