arrow
Return

CloneRipples: predicting change propagation between code clone instances by graph-based deep learning

delete2024-10-30
delete0
PRE
AI
Y
Yijian Wu *
Y
Yuan Chen
X
Xin Peng
B
Bin Hu
X
Xiaochen Wang
B
Baiqiang Fu
DOI:10.1007/s10664-024-10567-0delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Code clones are recognized as a code smell that may require additional effort for simultaneous changes of multiple clone instances during software maintenance. To alleviate quality threats caused by inconsistent changes in clone instances, it is essential to accurately and efficiently make the decisions of change propagation between code clone instances. Our exploratory study has revealed that a clone class can have both propagation-required changes and propagation-free changes and thus fine-grained change propagation decisions are required. Based on the findings, we propose a graph-based deep learning approach to predict the change propagation requirements of clone instances. We design a deep learning model that employs a Relational Graph Convolutional Network (R-GCN) to predict the clone change propagation requirement. In order to evaluate our approach, we construct a dataset that includes 24,672 pairs of matched changes and 38,041 non-matched changes based on 51 open-source Java projects. Experiment results show that the approach achieves high precision (83.1%), recall (81.2%), and F1-score (82.1%). We implemented an IntelliJ IDEA tool called CloneRipples to assist developers to decide the necessity of change propagation between code clone instances seamlessly in development environment. Manual inspection identified the chances for purifying the dataset by rectifying the data labels of non-matched changes. Extended experiments for various data purification strategies reveal feasible ways to improve the prediction effectiveness and generality.
Keywords:
Code clone
Change propagation
Consistent changes
Clone dataset

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
2.0K
Citations:
5.3K

Organization

F
fudan university
Scholars:
11.8W
Papers: 7.7W
Citations: 121
Cited Papers

Cited Papers

errShare
errSave
Improving Maintenance-Consistency Prediction During Code Clone Creation
err2020-01-01
err5
errOAAI
errZhang, Fanlong; Khoo, Siau-Cheng; Su, Xiaohong
errShare
errSave
Initial Evaluation of a Mobile SARS-CoV-2 RT-LAMP Testing Strategy
err2021-09-01
err0
errOAAI
errChristina M. Newman; Mitchell D. Ramuta; Matthew T. McLaughlin; Roger W Wiseman; Julie A. Karl; Dawn M. Dudley; Miranda R. Stauss; Robert J. Maddox; Andrea M. Weiler; Mason I. Bliss; Katrina N. Fauser; Luis A. Haddock; Cecilia G. Shortreed; Amelia K. Haj; Molly A. Accola; Anna S. Heffron; Hailey E. Bussan; Matthew R. Reynolds; Olivia E. Harwood; Ryan V. Moriarty; Laurel M. Stewart; Chelsea M. Crooks; Trent M. Prall; Emma K. Neumann; Elizabeth D. Somsen; Corrie B. Burmeister; Kristi L. Hall; William M. Rehrauer; Thomas C. Friedrich; Shelby L. O'Connor; David H. O'Connor
errShare
errSave
Comparison of machine learning techniques for predicting porosity of chalk
err2022-02-01
err0
errOAAI
errMeysam Nourani; Najeh Alali; Saeed Samadianfard; Shahab S. Band; Kwok-wing Chau; Chi-Min Shu
errShare
errSave
Is cloned code really stable?
err2017-07-05
err28
PREAI
errMondal, Manishankar; Rahman, Md Saidur; Roy, Chanchal K.; Schneider, Kevin A.
errShare
errSave
Development of novel and non‐invasive diagnostic markers for lower urinary tract symptoms using urothelial cells in voided urine
err2017-10-17
err0
PREAI
errHiroshi Shimura; Takahiko Mitsui; Sachiko Tsuchiya; Tatsuya Miyamoto; Tatsuya Ihara; Satoru Kira; Hiroshi Nakagomi; Norifumi Sawada; Yuki Imai; Takanori Mochizuki; Masayuki Takeda
errShare
errSave
researcher View more