Comparing Static and Dynamic Weighted Software Coupling Metrics
This work addresses software engineers by providing insights into coupling metrics, but it is incremental as it compares existing metric types without introducing new methods.
The study investigated the correlation between static and weighted dynamic software coupling metrics using runtime data from four commercial systems over four weeks, finding an unexpected high correlation and differences between class- and package-level analyses.
Coupling metrics are an established way to measure software architecture quality with respect to modularity. Static coupling metrics are obtained from the source or compiled code of a program, while dynamic metrics use runtime data gathered e.g., by monitoring a system in production. We study \emph{weighted} dynamic coupling that takes into account how often a connection is executed during a system's run. We investigate the correlation between dynamic weighted metrics and their static counterparts. We use data collected from four different experiments, each monitoring production use of a commercial software system over a period of four weeks. We observe an unexpected level of correlation between the static and the weighted dynamic case as well as revealing differences between class- and package-level analyses.