The research presented here addresses the problem of change impact analysis (CIA) for object-oriented software. A major problem for developers in an evolutionary environment is that seemingly small changes can ripple throughout the system to have major unintended impacts elsewhere. As a result, software developers need to understand how a change to a software system will affect the rest of the system. Major results of this research include definitions for object-oriented data dependency graphs, a set of algorithms that allow software developers to evaluate proposed changes on object-oriented software, a set of object-oriented change impact metrics to quantitatively evaluate the change impacts, and a proof-of-concept tool (ChAT) that computes the impacts of changes. This research also supports efficient regression testing by helping testers decide what classes and methods need to be retested, and in supporting cost estimation and schedule planning.
Back to my home page.