ZHANG Fanlong, KHOO Siau-Cheng, SU Xiaohong. Machine-Learning Aided Analysis of Clone Evolution[J]. Chinese Journal of Electronics, 2017, 26(6): 1132-1138. DOI: 10.1049/cje.2017.08.012
Citation: ZHANG Fanlong, KHOO Siau-Cheng, SU Xiaohong. Machine-Learning Aided Analysis of Clone Evolution[J]. Chinese Journal of Electronics, 2017, 26(6): 1132-1138. DOI: 10.1049/cje.2017.08.012

Machine-Learning Aided Analysis of Clone Evolution

  • Code clones are similar code fragments appearing in software. As software evolves, code clones may be subjected to changes as well; we term this clone evolution. There have not been many investigations into clone evolution characteristics. Therefore, we tackle this by exploring useful information associated with changes of clones during evolution. We focus on three perspectives of clone evolution, ranging from individual clone changes to characterization of clone genealogies. With the help Xmeans clustering, we establish associations between clone changes and life of clones. Our experimental results on two softwares show that clones are mostly stable throughout software evolution. For the relatively smaller group of "unstable" clones, changes usually happen after several versions, and consistent changes appear more frequently than inconsistent ones. We suggest that developers should pay more attention to relatively longer genealogies, and should consider applying changes consistently to clone group when a constituent clone fragment has undergone change.
  • loading

Catalog

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return