Font Size: a A A

Bug Assignment And Localization Based On Developer Social Network And Learning To Rank

Posted on:2020-07-15Degree:MasterType:Thesis
Country:ChinaCandidate:L Y WuFull Text:PDF
GTID:2428330590974468Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Nowadays large open source software projects such as Tomcat,Eclipse and AspectJ are equipped with a powerful bug tracking system that enables developers around the world to work together to fix a software bug,but the bug tracking system will receive a large number of bug reports every day.If operated completely manually,a bug report is assigned to a developer,and then the developer manually finds out the corresponding source code file for bug report,which will consume a lot of manpower and time.Therefore,how to automate the assignment of bug reports and automatically locate faulty files is a very meaningful and challenging task,which is also critical to improving the maintenance process of large open source software projects.At present,relevant researchers have proposed many different bug assignments and bug localization methods based on the characteristics of bug reports and source files,but these methods do not take into account the collaboration between different developers,the level of individual competence and industry influence,furthermore,deep semantic information of the bug report itself is ignored as well.Aiming at solving the above problems,this paper proposes a bug assignment method based on developer social network and a bug localization method based on Learning to Rank.The main work is as follows:First,raw data information should be extracted from the bug tracking system,and we use this information to establish a developer social network according to the developer's comment relationship on the same bug,then divide the developers with the same bug fixing experience in the network into certain community.Then,developer's historical fixing experience and its influence in the network node are used to evaluate all developers' capabilities.Experiments show that the developers' historical repairing experience has a greater contribution to the developer's ability assessment.Finally,use the previously extracted raw data information to build a predictive model of bug assignments.When a new bug report arrives,it can be assigned to the appropriate community through the calculation of the predictive model,and then the highest ranked developer from the community can be recommended to fix the bug.After recommending the appropriate developer for the bug report,the next step is to help the developer locate a list of suspicious source code files that are most relevant to the description of the bug report to assist in defect troubleshooting and repair.The text similarity from the bug report and source code,the fixing history of the bug report,the stack trace information,API(Application Programming Interface)documentation can be utilized to extract feature values between bug report and source code,combining Word2 Vec to mine the deep semantic information of bug report,which can make up forthe lexical mismatch between bug report and source file,besides,in order to avoid the deviation problems of Word2 Vec tool in the training process of natural language and source code,a shuffle algorithm is proposed to randomly mix natural language and programming language with similar semantics into the same document to generate a unified semantic environment,this algorithm proves that the prediction accuracy of the model is greatly improved.Finally,the extracted feature values are combined by the SVM-Rank algorithm and the final value is obtained.This value returns a sorted list of suspected source file ready for developers to search and fix.
Keywords/Search Tags:bug report assignment, bug localization, developer social network, lexical mismatch, learning to rank
PDF Full Text Request
Related items