Font Size: a A A

The Key Technical Research Of Open Source Community Oriented Developer Discovery And Guidance

Posted on:2018-10-22Degree:MasterType:Thesis
Country:ChinaCandidate:X H ZhangFull Text:PDF
GTID:2428330623950966Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In recent years,open source software which is based on large-scale developers free participation has evolved into an open source ecosystem that combines collaborative development communities and knowledge sharing communities,and has achieved great success.However,for open source projects,connecting developers with projects themselves,providing description documents for source code,and attracting a large number of exter-nal developers to quickly participate and continuously contribute are the key factors for the development of open source projects.However,because the number of open source projects is very large and increases very fast,and developers autonomously participate with many kinds of activities,and also because there are not many normative documents related to the complicated source code,recommending suitable developers and guiding them to quickly make contribution with abundant information becomes a major challenge.In view of the above challenges,this paper proposes a developer recommendation algo-rithm based on developer 's code contribution information and cross-community behavior information,as well as an automatic code summarization method based on deep learning and natural language processing methods.Specific innovations are as follows:1?Contributor Recommendation Algorithm Based on Code Commit Behavior.The code changes are directly related to the developers technical interests and abilities which is the key factor for matching developers and open source projects.Based on this consideration,this paper designs and implements the weighted cooperative filtering recommendation algorithm based on the collaborative network of code committers.We calculate the relatioship between each developer and the open source project using the number of times the developer commits to the project.In order to solve the "cold start" problem of collaborative filtering algorithm,we create a text matching based recommendation algorithm by generating technical keywords from the project's information and constructing each developer 's technical concern vector.Thereafter,we use more than 28 million open source projects and more than 10 million developers in GitHub to do experiments,and verify the effectiveness of our algorithm.2?Contributor Recommendation Algorithm Based on Cross-Community Behavior.With the development of open source ecosystem,there are more and more ways for developers to participate in open source projects,which brings opportunities for analyzing developers ' interests and abilities precisely and comprehensively.Developer's activity is no longer limited to collaborative development activities,such as submission of defect reports,code changes,comment information,and etc.Studies have shown that there is also a lot of developer technical discussion activities in knowledge sharing communities like StackOverflow,and there is a close association between these two kinds of communities.Based on this background we consider improving the contributor recommendation algorithm by extending the developer's behavior.We generate more than 70,000 users both active in GitHub and StackOverflow.Thereafter,we do experiments using these developers and more than 1.3 million open source projects in GitHub and nearly 8 million posts in StackOverflow to test our recommendation algorithm.The experiment results prove that our recommended method can improve the recommendation accuracy to a certain extent.3?Contributor Guidance Oriented Method of Automatic Code Summarization.Because there are many contributors in open source projects with diverse code styles.Also because the annotation rate is very low,it is very hard for peripheral developers to quickly understand the whole project and participate in the project contribution,which will eliminate the enthusiasm of contributors and lead to the loss of talents to some extent.This directly restricts the development of the project.In order to guide the contributors to participate in project contribution,we put forward an automatic code summarization method for open source projects APIs by combining the traditional natural language processing method with the deep neural network method.We use the top 100 popular open source projects with the largest number of "Forks " in GitHub,and extract more than 160,000 pairs of API and natural language correspondence to train and validate our approach.
Keywords/Search Tags:Open Source Project, Developer Recommendation, Collaborative Development Community, Knowledge Sharing Community, Auto-annotation
PDF Full Text Request
Related items