Impact analysis is the process of determining the effect, or impact, of a change to a software system. Dynamic impact analysis uses data obtained from executing a program to perform analysis after program termination for determining impacts more in line with how a program is used. Online impact analysis has the same goal, but is performed concurrently with program execution. While some of the tradeoffs between dynamic algorithms have been studied, no such study has been performed for online algorithms. In this paper, we present such a study by comparing two online algorithms and two previously published dynamic algorithms in terms of their space overhead, time for computation, computed impact sets, and scalability. Our results indicate that performing impact analysis online can be more scalable than the dynamic counterparts.
Ben Breech, Mike Tegtmeyer, Lori L. Pollock