Font Size: a A A

A Comparative Study On The Bugs-Proneness Of Different Evolution Pattern Of Clone Code

Posted on:2018-10-24Degree:MasterType:Thesis
Country:ChinaCandidate:G S GeFull Text:PDF
GTID:2348330512996458Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Clone code is widespread in software,and brings dual influence to software system,such as saving develop cost compared with increasing propagation probability of Bugs.The real threat of clone code is not copy the code itself,but relates to its evolution process.So the change of clone should be tracked and features of clone evolution should be analyzed,then we can manage clone code more scientifically and effectively.Most clone tracking was based on release version of software currently,which lost much change information of clone code during the process of software development,and definition of evolution pattern is not clear which also do not distinguish perspective.This study proposes a method of tracing clone code evolution trails based on graph model.This method uses version control repository as input,takes full use of every modify submitting to tracking clone evolution,and finally identifies clone evolution mode in different perspective.Based on the proposed method of tracing clone code evolution trails,a prototype tool called CloneCodeTracker was implemented.First making clone detection of each version,then according to the strategy of " preliminary clone class mapping-precise clone fragment mapping-clone class mapping revise" to complete clone mapping of adjacent version.Identifying clone evolution of short-term patterns,and then using the breadth-first search algorithm to extract the clone lineage.Finally,we find long-term clone evolution mode in terms of clone genealogy.Contrast to the similar tool named gCad,recall(increased by 2%)and precision(up 2%)of CloneCodeTracker is significantly higher and faster in the same environment.The present clone management is unscientific and lacks emphasis of study.So,in this study CloneCodeTracker was used to conduct clone evolution trace experiment for 12 open-source software in nearly 20000 versions.We made statistics of fixed clone code Bugs according to code modify logs,and discussed Bugs proneness of clone code in different evolution mode from various perspective.The results showed that the complex evolution mode between adjacent versions represented stronger Bugs proneness.Bugs proneness of merge evolution model was higher than growth evolution model,which was also higher in remove evolution model than those in constancy evolution mode,and remained stable between consistence and inconsistence evolution mode;In multiple versions,Bugs proneness of compound evolution model and mixed evolution model was higher,which also increased in independent evolution mode and merge evolution patterns comparing to those in conventional evolution mode.These conclusions will provide support for developer and tester to manage clone code scientifically and effectively.Such as,clone code of complex evolution model has high priority of refactoring,and clone code in compound evolution model should be focused during its management.Nearly 20000 versions of clone code tracking results will also provide basis data of analysis for researchers.
Keywords/Search Tags:Clone Code, Clone Tracking, Evolution Pattern, Bugs Proneness, Graph Model
PDF Full Text Request
Related items