The Dynamic Function Coupling Metric and Its Use in Software
Beszédes, Tamás Gergely, Szabolcs Faragó,
Gyimóthy and Ferenc Fischer
Many of the existing
techniques for impact set computation in change propagation and
regression testing are approximate for the sake of efficiency. A way to
improve precision is to apply dynamic analyses instead of static ones.
The state-of-the-art dynamic impact analysis method is simple and
efficient, but overly conservative and hence imprecise. In this paper
we introduce the measure of Dynamic
Function Coupling (DFC)
between two functions or methods, which we use to define a more precise
way of computing impact sets on function level with a scalable rate of
recall. The intuition behind our approach is that the `closer' the
execution of a function is to the execution of another function in some
of the runs of the program, the more likely they are really dependent
on each other. So, impact sets may be computed based on this kind of
coupling. We provide experimental data to support the validity of the
concept, which essentially show that the impact set of a function
consisting of only strongly DFC-coupled functions has twice the
precision compared to the conservative method.
Keywords: Software maintenance and evolution, change impact
analysis, regression testing, dynamic program analysis.