Impact Analysis in the Presence of Dependence Clusters Using
Static
Execute After in WebKit
Lajos Schrettner, Judit Jász, Tamás Gergely,
Árpád Beszédes
and
Tibor Gyimóthy
Impact analysis based on code dependence can provide
opportunities to identify parts of the software affected by a
change. Because changes usually have far reaching effects in
programs, effective and efficient impact analysis is vital. Static
Execute After (SEA) is a relation on procedures that is
efficiently computable and accurate enough to be a candidate for
use in impact analysis in practice. To assess the applicability of
SEA in terms of capturing real defects, we present results on
integrating it into the build system of WebKit, a large, open
source software system, and on related experiments. We show that a
large number of real defects can be captured by impact sets
computed by SEA, albeit many of them are large. We demonstrate
that this is not an issue in applying it to regression test
prioritization, but generally it can be an obstacle in the path to
efficient use of impact analysis. We believe that the main reason
for large impact sets is the formation of dependence clusters in
code. As apparently dependence clusters cannot be easily avoided
in the majority of cases, we focus on determining the effects
these clusters have on impact analysis and regression test
prioritization.
Keywords: Change impact
analysis, Source code analysis, Static Execute After, Regression
testing, Dependence clusters.
Back