Font Size: a A A

Source Code Evolution Analysis Using Software Repository

Posted on:2015-07-02Degree:MasterType:Thesis
Country:ChinaCandidate:W C YangFull Text:PDF
GTID:2298330452964185Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Source code evolution analysis is an important task of software development andversion upgrade in software maintenance. With the guiding significance to the codelevel change control, it has become a hottest subject in empirical software engineering.In this paper, we study the source code evolution using software repository miningtechniques. Using the correlation between two source files and the correlation betweensource file and developer together, we analyze the impact to range/time/author of thecurrent revision, find out the rules, establish the analysis model and do the prediction.The research results could be used to plan software evolution project, and also couldhelp to improve the software development process.At first, according to the characteristics of source code evolution analysis, thispaper puts forward the source code evolution analysis method based on softwarerepository. It is composed of six steps: data-source selection and sample data extraction;preliminary analysis and determination of analysis indicators; data extraction; datapreprocessing; core analysis steps and data visualization.Then, the source code evolution analysis models are studied and designed from thefollow three dimensions:1) Range impact analysis. Using the static source code analysis and co-changeanalysis together, this paper puts forward the source correlation network, and uses thePageRank algorithm to support the value calculation of each node in this network.2) Time impact analysis. Using the source correlation network, revision curve andrevision barcode together, we analyze the distribution of commit time during the life-cycle of software development.3) Author impact analysis. We add developer nodes into the source correlationnetwork to establish a new network. In this network, we focus on the ownership of the source file, and use this relation to complete the author prediction.Based on the above, this paper designs and implements a source code evolutionanalysis tool (SEAT), does the case study on8open source software projects fromGitHub. The result reveals that source file change will be propagated in the correlationnetwork from the node with high PageRank value to the node with low PageRank value.The commits with huge change scale will affect the whole project, and it also lead to ahigher possibility to the transition of the project status between Cool-Down Period andCo-Change Window. The core developer will get a higher priority to do the changetasks, and his behavior is much more stable than non-core developer’s, it is morepredictable and make more influence on the whole project.
Keywords/Search Tags:Open source software, software repository mining, sourcecode evolution analysis, visual analysis, core developer
PDF Full Text Request
Related items