ECIA: Elaborate Change Impact Analysis Based on Sub-Statement Level Dependency Graph

Zheheng Liang, Chang Jianming, Wuqiang Shen, Chaosheng Yao, Lulu Wang · 2023

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 fined-grained CIAs' success in giving the statement-level impact set, they are still limited by coarse-grained call flow graphs, leading to low precision. This paper proposes ECIA, an Elaborate CIA technique based on the sub-statement level dependency graph. ECIA can perform a forward hierarchy program slicing on the change set from five levels: sub-statement, statement, method, class, and package. ECIA calculates the multi-impact set of the change set based on the program slices. We evaluate ECIA on 10 open-source projects and compare our approach with traditional and fined-grained CIAs at method and statement granularity. The experimental result shows that ECIA is more accurate than traditional and fined-grained CIAs.

Read the paper · More papers on PaperTik