Software comprehension is a fundamental activity in software maintenance, and its complexity grows as systems evolve across releases. Call graphs (CG) are widely used to support this process because they capture the calling relationships among functions. However, obtaining meaningful comparisons between different versions of a CG remains challenging. Network Portrait Divergence (NPD) provides a graph invariant and computationally efficient metric for assessing structural differences by analyzing global distributions of node distances and neighborhood patterns. Although it is effective, NPD does not include execution semantics, even though execution paths often convey the behavioral changes that matter to developers. This study introduces a refinement of NPD that replaces neighborhood-oriented features with features derived from execution paths, represented through distributions of path lengths. The modified metric is evaluated in a controlled scenario using synthetic data, designed to distinguish the effects of structural changes including new call and changes to control flow. The results show that the proposed NPD is more responsive to modifications that influence execution behavior. Scenarios that create new execution paths and restructure control flow result in substantially higher divergence. These findings suggest that including execution path information offers a more behavior-oriented view of software evolution and complements topology-based approaches.
Copyrights © 2026