Enhancing Change Impact Prediction by Integrating Evolutionary Coupling with Software Change Relationships
Daihong Zhou, Jiyue Zhang, Ping Yu, Wunan Guo · 2024
Background: Changes on source code may propagate to distant code entities through various relationships, making related changes obligatory. Identifying change impacts is challenging due to the complexity of how changes spread. Although association rules are widely used for change impact prediction, they rely solely on historical co-changes, which limits their accuracy when entities rarely or never co-change. Aims: This study explores the integration of evolutionary coupling with software change relationships among changed code entities to enhance the state-of-the-art association rule mining technique, TARMAQ. Method: We integrate evolutionary coupling with 12 types of software change relationships, such as structural dependencies and code clones, to better capture associated changes. Results: Analyzing thousands of commits from six open-source systems, we observed: (1) Incorporating software change relationship analysis significantly improves TARMAQ’s prediction recall and mean average precision (MAP), (2) The top-5 predictions exhibit notable increasing in precision, recall, F1-score, and MAP, and (3) Based on our implementation, the integrated method is practically applicable. Conclusions: Combining evolutionary coupling and software change relationships can improve the recall and prioritization of impact predictions in association rule-based techniques.