Font Size: a A A

Research On Predicting Harmfulness Of Code Clones Based On The Topic Model

Posted on:2015-06-22Degree:MasterType:Thesis
Country:ChinaCandidate:L L YinFull Text:PDF
GTID:2298330431474453Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Code clones are identical or similar fragments of source code, and it hasimportant impact in software development and maintenance. Code clones areoriginally considered harmful for program and should be deleted in time, nowit turns to not all code clones are harmful. The life cycle of some code clonesis very short, or it has been stable, and it has no important impact in softwaremaintenance and program quality. The research about code clonesharmfulness stay on manual evaluation and analysis level right now. Notachieve auto forecast clones harmfulness.A method of auto forecast clones harmfulness based on topic model arepresented in this paper. It takes that whether inconsistent changesunintentional occur as foothold. It relies on whether flexible occur on the filethat code clones in. we use a technique combining Token with AST toestablish the mapping relations of clone groups between adjacent versions ofsoftware, extract the clone genealogy, and use LDA model to identify topicsof set of lineage clone group, get evolving information of context of clones,and use Bayesian model to predict the harmful degree of clones. At last anexperimental system is obtained, which is portable forautomatically predicting the harmfulness of code clones and offers somereference information for software development and maintenance personnel.We experiment on8different types of open-source software systemwritten in C languages to verify and assess our method. The experimentresults are verified through the artificial and show that the method proposedof this paper are effective. It is a meaningful attempt to predict theharmfulness of code clones.
Keywords/Search Tags:software evolution, code clones, harmfulness prediction, topicmodel
PDF Full Text Request
Related items