TY - GEN
T1 - Predicting Consistent Clone Change
AU - Zhang, Fanlong
AU - Khoo, Siau Cheng
AU - Su, Xiaohong
N1 - Publisher Copyright:
© 2016 IEEE.
PY - 2016/12/5
Y1 - 2016/12/5
N2 - Code clones, being an inevitable by-product of rapid software development, can impact software quality. The introduction of code clone groups and clone genealogies enable software developers to be aware of the presence of and changes to clones as a collective group, they also allow developers to understand how clone groups evolve throughout software life cycle. Due to similarity in codes within a clone group, a change in one piece of the code may require developers to make changes to other clones in the group. Failure in making consistent change to a clone group when necessary is commonly known as 'clone consistency-defect', which can adversely impact software reliability. We propose an approach to predict clone consistency-requirement at the time when changes have been made to a clone group. Our predictor is a Bayesian network implemented in WEKA. We build a variant of clone genealogies to collect all consistent/inconsistent changes to clone groups, and extract three sets of attributes from clone groups as input for predicting consistent clone change. These three sets are: code attributes, context attributes and evolution attributes. We conduct experiments on three open source projects. These experiments show that our approach has high precision and recall in predicting clone consistency-requirement. This holistic approach can aid developers in maintaining code clone changes, and avoid potential clone consistency-defect, which can improve the software quality and reliability.
AB - Code clones, being an inevitable by-product of rapid software development, can impact software quality. The introduction of code clone groups and clone genealogies enable software developers to be aware of the presence of and changes to clones as a collective group, they also allow developers to understand how clone groups evolve throughout software life cycle. Due to similarity in codes within a clone group, a change in one piece of the code may require developers to make changes to other clones in the group. Failure in making consistent change to a clone group when necessary is commonly known as 'clone consistency-defect', which can adversely impact software reliability. We propose an approach to predict clone consistency-requirement at the time when changes have been made to a clone group. Our predictor is a Bayesian network implemented in WEKA. We build a variant of clone genealogies to collect all consistent/inconsistent changes to clone groups, and extract three sets of attributes from clone groups as input for predicting consistent clone change. These three sets are: code attributes, context attributes and evolution attributes. We conduct experiments on three open source projects. These experiments show that our approach has high precision and recall in predicting clone consistency-requirement. This holistic approach can aid developers in maintaining code clone changes, and avoid potential clone consistency-defect, which can improve the software quality and reliability.
KW - Bayesian network
KW - Software quality
KW - clone attributes
KW - clone maintenance
KW - code clones
KW - consistency-requirement prediction
UR - https://www.scopus.com/pages/publications/85013286556
U2 - 10.1109/ISSRE.2016.11
DO - 10.1109/ISSRE.2016.11
M3 - 会议稿件
AN - SCOPUS:85013286556
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 353
EP - 364
BT - Proceedings - 2016 IEEE 27th International Symposium on Software Reliability Engineering, ISSRE 2016
PB - IEEE Computer Society
T2 - 27th IEEE International Symposium on Software Reliability Engineering, ISSRE 2016
Y2 - 23 October 2016 through 27 October 2016
ER -