A survey of code‐based change impact analysis techniques
- 27 April 2012
- journal article
- research article
- Published by Wiley in Software Testing, Verification and Reliability
- Vol. 23 (8) , 613-646
Abstract
SUMMARY: 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 © 2012 John Wiley & Sons, Ltd.Keywords
This publication has 99 references indexed in Scilit:
- Guest editors introduction: special issue on mining software repositoriesEmpirical Software Engineering, 2009
- Measuring changeability for generic aspect-oriented systemsACM SIGSOFT Software Engineering Notes, 2008
- Using information retrieval based coupling measures for impact analysisEmpirical Software Engineering, 2008
- Replaying development history to assess the effectiveness of change propagation toolsEmpirical Software Engineering, 2006
- Automated impact analysis of UML modelsJournal of Systems and Software, 2006
- Leveraging field data for impact analysis and regression testingACM SIGSOFT Software Engineering Notes, 2003
- Computing ripple effect for software maintenanceJournal of Software Maintenance and Evolution: Research and Practice, 2001
- Effort estimation and prediction of object-oriented systemsJournal of Systems and Software, 1998
- Hybrid slicingACM Transactions on Software Engineering and Methodology, 1997
- Hybrid slicingACM SIGSOFT Software Engineering Notes, 1995