Software Space Analytics: Towards Visualization and Statistics of Internal Software Execution
Shinobu Saito
TL;DR
This work introduces Software Space Analytics, a novel approach that treats a software system as a spatial space defined by module-call relationships and analyzes internal execution data with spatial statistics. By constructing a software space proximity matrix from runtime logs and pairing it with per-module execution counts, the authors apply Moran's I and Local Moran's I to visualize and test for spatial autocorrelation in module usage. In a case study on two open-source enterprise systems, they find significant local autocorrelation in roughly 10% of modules, identifying hot spots and outliers that inform maintenance actions such as targeted optimization or refactoring. The approach provides a data-driven mechanism to identify structurally cohesive module groups and potential design issues, with future work extending to predictive analytics of execution counts.
Abstract
In software maintenance work, software architects and programmers need to identify modules that require modification or deletion. Whilst user requests and bug reports are utilised for this purpose, evaluating the execution status of modules within the software is also crucial. This paper, therefore, applies spatial statistics to assess internal software execution data. First, we define a software space dataset, viewing the software's internal structure as a space based on module call relationships. Then, using spatial statistics, we conduct the visualization of spatial clusters and the statistical testing using spatial measures. Finally, we consider the usefulness of spatial statistics in the software engineering domain and future challenges.
