A Survey of Impact Analysis Tools for Effective Code Evolution
Galbo, Stephanie Perez Day
MetadataShow full item record
Background: Software maintenance and evolution are becoming noticeably more important activities in the software development process, with the growing popularity of Agile/SCRUM and continuous integration. Impact analysis, the activity of identifying the consequences of a change before the change is made, can help the developer understand the consequences of their potential changes and therefore make informed decisions about incremental changes, with the ultimate goal of minimizing negative impacts on the current baseline. To aid developers with impact analysis, there are a number of tools with a variety of capabilities to facilitate this process. Aim: In order to help developers take advantage of the cost-saving benefits of these tools, we would like to identify the impact analysis tools and plugins that currently exist in academia and the industry. There may be missed opportunities for tools developed for research purposes to be transferred to the industry. Method: In this paper, we will perform a systematic literature review of the impact analysis tools that exist today, and identify the various analysis types and capabilities offered by the various tools. We have also selected two tools, JRipples and ImpactMiner for an informal usability inspection, to gauge the industry readiness for these tools. Results and Conclusion: In this review, 20 impact analysis tools were selected for this literature review, and our results showed a variety of tools with different techniques and capabilities. We also discovered that there is an opportunity for the transferal of impact analysis tools from academia to industry to aid developers in maintenance and evolution.