Muhammad Zuhri Catur Candra
School of Electrical Engineering and Informatics, Institut Teknologi Bandung Jalan Ganesa No. 10 Bandung, 40132

Published : 1 Documents Claim Missing Document
Claim Missing Document
Check
Articles

Found 1 Documents
Search

Analyzing Software Evolution Dynamics using Execution Path-aware Graph Divergence Fitra Arifiansyah; Muhammad Zuhri Catur Candra; Gusti Ayu Putri Saptawati
Journal of ICT Research and Applications Vol. 20 No. 1 (2026)
Publisher : DRPM - ITB

Show Abstract | Download Original | Original Source | Check in Google Scholar | DOI: 10.5614/itbj.ict.res.appl.2026.20.1.6

Abstract

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.