The semantic approach to program slicing

19Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Program slicing is a source-to-source transformation that has applications in construction, analysis, testing and debugging of programs. A program slice contains the portion of a program that captures some subset of the program behavior. Algorithms are available for constructing slices for a particular execution of a program (dynamic slices) as well as to approximate a subset of the behavior over all possible executions of a program (static slices). As the behavior of a program is determined by the semantics of the language, it is reasonable to expect a semantic justification for the practice of program slicing. Program slices have been used in several applications but there is no single notion of a slice that is useful for all applications. This paper identifies and categorizes different notions of a program slice available in the literature as well as several new notions. The various notions are formalized in a denotational framework. Extending the work by Cartwright and Felleisen [2] on the semantics of program dependence, a semantic justification is provided for the process of program slicing using program dependence graphs.

Cite

CITATION STYLE

APA

Venkatesh, G. A. (1991). The semantic approach to program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 107–119). Association for Computing Machinery. https://doi.org/10.1145/113445.113455

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free