Parametric Program Slicing
Author
John Field & G. Ramalingam
Entry type
conference
Abstract
Program slicing is a technique for isolating computational threads in programs. In this paper, we show how to mechanically extract a family of practical algorithms for computing slices directly from semantic specifications. These algorithms are based on combining the notion of dynamic dependence tracking in term rewriting systems [13] with a program representation whose behavior is defined via an equational logic [12]. Our approach is distinguished by the fact that changes to the behavior of the slicing algorithm can be accomplished through simple changes in rewriting rules that define the semantics of the program representation. Thus, e.g., different notions of dependence may be specified, properties of language-specific datatypes can be exploited, and various time, space, and precision tradeoffs may be made. This flexibility enables us to generalize the traditional notions of static and dynamic slices to that of a constrained slice, where any subset of the inputs of a program may be supplied.
Date
1995 – 1 – 1
How published
The 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages; San Francisco, CA; USA; 22-25 Jan. 1995
Key alpha
Field
Pages
379-392
Publication Date
1995-01-01

