Table of Contents
Fetching ...

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.

Software Space Analytics: Towards Visualization and Statistics of Internal Software Execution

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.
Paper Structure (21 sections, 6 equations, 11 figures, 3 tables)

This paper contains 21 sections, 6 equations, 11 figures, 3 tables.

Figures (11)

  • Figure 1: Spatial autocorrelation.
  • Figure 2: Raster model (left) and its corresponding proximity matrix (rigfht).
  • Figure 3: Moran scatter plot (left) and visualization of raster model based on spatial clusters (right).
  • Figure 4: Schematic of Software Space Analytics.
  • Figure 5: Execution log data (JSON format).
  • ...and 6 more figures