A survey of code-based change impact analysis techniques

被引:129
作者
Li, Bixin [1 ,2 ]
Sun, Xiaobing [1 ,2 ]
Leung, Hareton [3 ]
Zhang, Sai [4 ]
机构
[1] Southeast Univ, Sch Engn & Comp Sci, Nanjing, Jiangsu, Peoples R China
[2] Chinese Acad Sci, Inst Software, State Key Lab Comp Sci, Beijing, Peoples R China
[3] Hong Kong Polytech Univ, Dept Comp, Hong Kong, Hong Kong, Peoples R China
[4] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
基金
中国国家自然科学基金;
关键词
change impact analysis; survey; source code; application; MINING VERSION HISTORIES; DEBUGGING TOOL; !text type='JAVA']JAVA[!/text] PROGRAMS; PROPAGATION; EFFICIENT; METRICS; COMPUTATION; PREDICTION; SLICES;
D O I
10.1002/stvr.1475
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software change impact analysis (CIA) is a technique for identifying the effects of a change, or estimating what needs to be modified to accomplish a change. Since the 1980s, there have been many investigations on CIA, especially for code-based CIA techniques. However, there have been very few surveys on this topic. This article tries to fill this gap. And 30 papers that provide empirical evaluation on 23 code-based CIA techniques are identified. Then, data was synthesized against four research questions. The study presents a comparative framework including seven properties, which characterize the CIA techniques, and identifies key applications of CIA techniques in software maintenance. In addition, the need for further research is also presented in the following areas: evaluating existing CIA techniques and proposing new CIA techniques under the proposed framework, developing more mature tools to support CIA, comparing current CIA techniques empirically with unified metrics and common benchmarks, and applying the CIA more extensively and effectively in the software maintenance phase. Copyright (c) 2012 John Wiley & Sons, Ltd.
引用
收藏
页码:613 / 646
页数:34
相关论文
共 114 条
[1]  
AGRAWAL H, 1990, SIGPLAN NOTICES, V25, P246, DOI 10.1145/93548.93576
[2]  
Agrawal Hiralal, 1990, Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, P246, DOI 10.1145/93542.93576
[3]  
Ahsan S. N., 2010, ACM IEEE INT S EMPIR, P1
[4]  
[Anonymous], 1994, Technical Report
[5]  
[Anonymous], 2007, GUIDELINES PERFORMIN
[6]  
[Anonymous], 1985, Program Evolution: Processes of Software Change
[7]  
[Anonymous], 2010, IEEE INT C SOFTWARE
[8]  
[Anonymous], 2006, P 2006 INT WORKSHOP
[9]  
[Anonymous], 2010, OCLOBJECT CONSTRAINT
[10]  
[Anonymous], J SOFTWARE MAINTENAN