HCIA: Hierarchical Change Impact Analysis Based on Hierarchy Program Slices
Change impact analysis (CIA) is an essential method in software maintenance and evolution. Its accuracy and usability play a crucial role in its application. However, most CIAs are coarse-grained and limited to class and method levels. Despite the fine-grained CIAs’ success in giving the statement-level impact set, they are still limited without the sub-statement level dependency analysis, leading to low precision. Additionally, their unstructured impact sets make it challenging for users to comprehend the impact content. This paper proposes Hierarchical Change Impact Analysis (HCIA), a Hierarchical CIA technique based on the sub-statement level dependence graph. HCIA can perform a forward hierarchy program slicing on the change set from five levels: sub-statement, statement, method, class, and package. Based on the program slices, HCIA calculates the impact factor of the impact sets at the five levels to generate the final impact set. In the experiment, we evaluate the relationship between the impact factor and the actual affected codes and assess the most appropriate size of HCIA impact sets. Furthermore, we evaluate HCIA on 10 open-source projects by comparing our approach with popular CIAs at the five levels. The experimental result shows that HCIA is more accurate than the popular CIAs.
Authors
- Jianming Chang (ORCID: https://orcid.org/0000-0002-0052-6198)
- Lulu Wang (ORCID: https://orcid.org/0000-0002-8575-4172)
- Zaixing Zhang
Institutions
- Southeast University (CN)
Publication Details
- Journal
- International Journal of Software Engineering and Knowledge Engineering
- Published
- 2024-12-11
- DOI
- https://doi.org/10.1142/s0218194025500056
- Primary Topic
- Evaluation and Performance Assessment
- Type
- article
- Field-Weighted Citation Impact
- 0.00