Dynamic program slicing

Dynamic program slicing
复制标题

DOI:
10.1145/93542.93576
复制
发表时间:
1990-06
期刊:
--
影响因子:
--
通讯作者:
H. Agrawal;J. R. Horgan
H. Agrawal;J. R. Horgan
中科院分区:
其他
文献类型:
--
作者:
H. Agrawal;J. R. Horgan

文献摘要

被引文献

相似文献

程序切片在调试、测试、维护和理解程序时非常有用。程序片(静态片)的传统概念是可能影响给定变量出现值的所有语句的集合。在本文中,我们研究了动态切片的概念,动态切片由实际影响给定程序输入的变量出现值的所有语句组成。动态切片对特定程序输入的敏感性使其在程序调试和测试中比静态切片更有用。研究了几种计算动态切片的方法。讨论了动态依赖图的概念及其在动态切片计算中的应用。动态依赖图可以是无界的;因此,我们引入了减少动态依赖图的经济概念,它的大小与程序执行期间产生的动态切片的数量成正比。
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.