Incremental Dynamic Impact Analysis for Evolving Software Systems
J. Law and G. Rothermel
Proceedings of the International Symposium on Software Reliability Engineering
November 2003, pages 430-441


Impact analysis -- determining the potential effects of changes on a software system -- plays an important role in helping engineers re-validate modified software. In previous work we presented a new impact analysis technique, PathImpact, for performing dynamic impact analysis at the level of procedures, and we showed empirically that the technique can be cost-effective in comparison to prominent prior techniques. A drawback of that approach as presented, however, is that when attempting to apply the technique to a new version of a system as that system and its test suite evolves, the process of recomputing the data required by the technique for that version can be excessively expensive. In this paper, therefore, we present algorithms that allow the data needed by PathImpact to be collected incrementally. We present the results of a controlled experiment investigating the costs and benefits of this incremental approach relative to the approach of completely recomputing prerequisite data.