Font Size: a A A

Research And Implementation Of Personalized Recommendation Methods For Software Community

Posted on:2020-08-14Degree:MasterType:Thesis
Country:ChinaCandidate:Z L DingFull Text:PDF
GTID:2428330602962497Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In recent years,with the development of the open source software community,more and more developers are involved in the development,evolution and maintenance of software in the community,and recognize the value of historical data resources in the open source software community,but in an excessive information environment,the problem of " information overload”is becoming more and more serious,facing the following challenges:(1)When developers work together in the open source community or participate in project development that they are interested in,developers often search for projects related to their development work to reuse their functions and features.However,due to the huge number of projects in the open source software community,they need to spend a lot of time and energy to find projects that they are really interested in,and different developers may have different needs for related projects,so recommend related projects to developers.very difficult.(2)During the evolution of the software system,users will continuously propose new functional requests to maintain the software.To implement these new capabilities,developers typically use existing third-party libraries and leverage the Application Programming Interface(API)to implement these new features.However,choosing which APIs,where and how to use them,solving these problems can be time consuming and labor intensive for developers.(3)Due to the complexity and historical reasons of software bugs,most software bugs are often not solved by a developer.Developers need to explore bugs before they are modified,and when developers complete bug fixes,they encounter When it's difficult,they need to quickly find the right communication object to improve the efficiency of modifying software bugs.The existing developer recommendation technology is dedicated to recommending a most suitable developer to fix software bugs,and can not help developers find suitable communication objects,thus reducing software maintenance efficiency.In response to these challenges,this article has carried out the following work:(1)A recommended method for personalized software projects for GitHub is proposed.The method is based on the characteristics of the project and the behavior of the user on other projects,and gives each developer a personalized recommendation of Top-N.In addition,the method integrates user feedback to further improve the accuracy of the recommendation.An empirical study of the data crawled from GitHub shows that the method can accurately recommend relevant software projects for developers.(2)It is proposed to use the feature location technology to identify the function-related source code file as the use location of the API.Based on the use position of the API,the API function recommendation is performed by mining the history function request library and the API library.In order to evaluate the effectiveness of the method,experimental verification was carried out in more than 5,000 functional requests of five Java projects.The results show the effectiveness of the method.(3)Developed a recommended tool for software bug fixes that analyzes error request data,recommends developer profiles,generates relevant developer diagrams,and analyzes bug fixes for developer history.The tool not only advises developers to fix specific errors from the perspective of developer history development and behavioral patterns,but also builds a"developer-error information-developer" relationship network with the developer's development history task.When the error repair task is completed,the developer will find the correct communication object.
Keywords/Search Tags:open source software community, personalized software project recommendation, API recommendation, developer recommendation
PDF Full Text Request
Related items