Affiliation:
1. Department of Computer Sciences, Purdue University, West Lafayette, IN
2. Bell Communications Research, Morristown, NJ
Abstract
Program slices are useful in debugging, testing, maintenance, and understanding of programs. The conventional notion of a program slice, the
static slice
, is the set of all statements that
might
affect the value of a given variable occurrence. In this paper, we investigate the concept of the
dynamic slice
consisting of all statements that
actually
affect the value of a variable occurrence for a given program input. The sensitivity of dynamic slicing to particular program inputs makes it more useful in program debugging and testing than static slicing. Several approaches for computing dynamic slices are examined. The notion of a Dynamic Dependence Graph and its use in computing dynamic slices is discussed. The Dynamic Dependence Graph may be unbounded in length; therefore, we introduce the economical concept of a Reduced Dynamic Dependence Graph, which is proportional in size to the number of dynamic slices arising during the program execution.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
301 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献