Theory and algorithms for slicing unstructured programs

被引:11
作者
Harman, Mark [1 ]
Lakhotia, Arun
Binkley, David
机构
[1] Kings Coll London, Dept Comp Sci, London WC2R 2LS, England
[2] Univ Louisiana Lafayette, Lafayette, LA 70504 USA
[3] Loyola Coll, Baltimore, MD 21210 USA
关键词
program slicing; amorphous slicing; unstructured control-flow;
D O I
10.1016/j.infsof.2005.06.001
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 [计算机科学与技术];
摘要
Program slicing identifies parts of a program that potentially affect a chosen computation. It has many applications in software engineering. including maintenance, evolution and re-engineering of legacy systems. However, these systems typically contain programs with unstructured control-flow, produced using goto statements; thus, effective slicing of unstructured programs remains an important topic of study. This paper shows that slicing unstructured programs inherently requires making trade-offs between three slice attributes: termination behaviour, size. and syntactic structure. It is shown how different applications of slicing require different tradeoffs. The three attributes are used as the basis of a three-dimensional theoretical framework, which classifies slicing algorithms for unstructured programs. The paper proves that for two combinations of these dimensions, no algorithm exists and presents algorithms for the remaining six combinations. (C) 2005 Elsevier B.V. All rights reserved.
引用
收藏
页码:549 / 565
页数:17
相关论文
共 37 条
[1]
AGRAWAL H, 1994, SIGPLAN NOTICES, V29, P302, DOI 10.1145/773473.178456
[2]
[Anonymous], CSR9438 CENTR WISK I
[3]
BALL T, 1993, 1 C AUT ALG DEB LINK, P206
[4]
BECK J, 1993, IEEE ACM 15 C SOFTW, P509
[5]
Binkley D., 1995, ACM Transactions on Software Engineering and Methodology, V4, P3, DOI 10.1145/201055.201056
[6]
A survey of empirical results on program slicing [J].
Binkley, D ;
Harman, M .
ADVANCES IN COMPUTERS, VOL 62: ADVANCES IN SOFTWARE ENGINEERING, 2004, 62 :105-178
[7]
Binkley D., 1993, ACM Letters on Programming Languages and Systems, V2, P31, DOI 10.1145/176454.176473
[8]
Binkley D., 1996, Advances in Computers, V43, P1
[9]
BINKLEY DW, 1999, ACM S APPL COMP MENG, P519
[10]
CANFORA G, 1994, INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, P424, DOI 10.1109/ICSM.1994.336752