Software change impact analysis for Java code

Xiaozheng Ma · 2003

As software becomes increasingly complex, maintenance and evolution become more challenging to developers. One of the major problems for developers in an evolutionary environment is that seemingly small changes can ripple throughout the system and thus cause major unintended impact elsewhere. However, manual analysis is inefficient and error prone for performing data dependency and impact analysis. There is a need for automatic tools to help software developers understand how changes in software system impact the rest of the system and identify those impacts. Although object oriented codes are more easily packaged and have certain advantages, features such as encapsulation, inheritance, and polymorphism introduce new problems for analyzing ripple effects in object-oriented. This thesis presents a prototype of an automatic software change impact analyzer for Java code. Given the proposed changes (such as the modification of fields, methods or some statements inside a method), the goal of this automatic tool is to identify the possible impacts to the system based on data dependency analysis and present the impacts analysis results to the user. The output of the system is a set of affected classes, fields, and methods, which can be used in cost estimation, change plan evaluation, efficient retesting, etc.

Read the paper · More papers on PaperTik