Combining Dynamic Analysis and Visualization to Explore the Distribution of Unit Test Suites

As software systems have grown in scale and complexity the test suites built alongside those systems have also become increasingly complex. Understanding key aspects of test suites, such as their cove

Combining Dynamic Analysis and Visualization to Explore the Distribution of Unit Test Suites

As software systems have grown in scale and complexity the test suites built alongside those systems have also become increasingly complex. Understanding key aspects of test suites, such as their coverage of production code, is important when maintaining or reengineering systems. This work investigates the distribution of unit tests in Open Source Software (OSS) systems through the visualization of data obtained from both dynamic and static analysis. Our long-term aim is to support developers in their understanding of test distribution and the relationship of tests to production code. We first obtain dynamic coupling information from five selected OSS systems and we then map the test and production code results. The mapping is shown in graphs that depict both the dependencies between classes and static test information. We analyze these graphs using Centrality metrics derived from graph theory and SNA. Our findings suggest that, for these five systems at least, unit test and dynamic coupling information ‘do not match’, in that unit tests do not appear to be distributed in line with the systems’ dynamic coupling. We contend that, by mapping dynamic coupling data onto unit test information, and through the use of software metrics and visualization, we can locate central system classes and identify to which classes unit testing effort has (or has not) been dedicated.


💡 Research Summary

This paper explores the distribution of unit tests in Open Source Software (OSS) systems through dynamic and static analysis visualization. As software systems have grown more complex and larger in scale, so too have their test suites. Understanding key aspects such as how well these test suites cover production code is crucial for maintaining or reengineering those systems.

The research team investigates the distribution of unit tests by obtaining dynamic coupling information from five selected OSS systems and mapping this data alongside static analysis results. The mappings are visualized in graphs that depict both class dependencies and static test information. These graphs are then analyzed using centrality metrics derived from graph theory and Social Network Analysis (SNA).

The findings suggest a mismatch between unit tests and dynamic coupling information for the five studied OSS systems, indicating that unit tests do not align with the systems’ dynamic coupling patterns. By mapping dynamic coupling data onto unit test information and utilizing software metrics and visualization techniques, developers can identify central system classes and pinpoint where testing effort has been directed or neglected.

This approach supports developers in understanding the distribution of tests and their relationship to production code, potentially leading to more effective maintenance and reengineering efforts.


📜 Original Paper Content

🚀 Synchronizing high-quality layout from 1TB storage...