The Dynamic Function Coupling Metric and Its Use in Software Evolution

Árpád Beszédes, Tamás Gergely, Szabolcs Faragó, Tibor 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.

Software maintenance and evolution, change impact analysis, regression testing, dynamic program analysis.