Font Size: a A A

Developer Capability Modeling And Task Assignment For The Open Source Community

Posted on:2020-01-08Degree:MasterType:Thesis
Country:ChinaCandidate:M ChenFull Text:PDF
GTID:2518306548995899Subject:Cyberspace security
Abstract/Summary:PDF Full Text Request
In open source communities such as Github and Stack Over Flow,more and more developers are flooding into the development of open source software.The existing task assignment mechanism still depends on the subjective judgment of the core developers.However,due to the uneven level of developer capabilities,as open source software becomes more complex,it becomes more difficult to achieve precise task assignments.What's more,more and more companies are looking for development talent in the open source community.Due to the lack of a developer's ability assessment mechanism,recruiters need to spend a lot of time reviewing the developer's activity data in order to make more accurate and objective judgments for developers.In addition,more and more developers hope to use the resources of the open source community to effectively learn to improve their skills.By building a developer's ability portrait,developers can better understand their ability distribution,and more effectively use the open source community's learning resources to achieve self-skills.In summary,exploring accurate,objective,and comprehensive developer capability characterization techniques and automatic assignment of tasks based on this is an urgent problem to be solved in the current open source community.Based on the behavioral data of developers in the Github community,this paper focuses on the developer's ability assessment and skill portraits as well as task assignments.The main work and contributions are summarized as follows:First,in the aspect of developer capability assessment,a developer capability assessment system is constructed,and corresponding calculation models are proposed for different evaluation indicators.For a developer,we divide its capabilities into code capabilities,project management capabilities,and social capabilities.For code capabilities,we first use the academic H-index calculation method to calculate the developer's code efficiency based on the developer's commit record and pull request record,and calculate the developer code quality in combination with the frequency at which the developer fixes or improves the code.Comprehensive code efficiency and code quality to calculate the developer's code capabilities.By analyzing the message information of the commit record,we divide the developer's project management capability into multiple indicators for calculation.By calculating the corresponding indicator behavior of the commit record,the weighted summation is used to obtain the developer project management capability value.For social capabilities,we select the developer's comment data on the commit,issue,and gist code snippets,use the majority voting algorithm to synthesize multiple classifiers to predict the developer's emotional propensity,and use regular rule matching to calculate the number of developer interaction comments.Combine these two points to get the developer's social ability value.Secondly,in the aspect of developer skill portrait characterization,the developer skill portrait extraction model is proposed by mining the developer association project and the developer modifing the file record.Firstly,establish a TOPSIS evaluation model for the quality of the project,and then combine the language composition of the project with the topic information to get the influence of the language or theme of the project.All the projects associated with the developer get the developer's language level skill list;In addition,we also get the developer framework level skill list by creating a file suffix name and technology stack association mapping table,and the developer can modify the file record.Combining these two skill list information,we finally got the developer's ability portrait.Then we use the co-occurrence tag data on Stack Over Flow to get the tag association rules through the FP-growth algorithm to complete the developer's skill tags.Third,in terms of task assignment,for a given issue,we use the text similarity of the issue to calculate a similar issue,and combine the developer's ability to assign an issue.Finally,we used a web development framework such as Flask and Jquery to build a task assignment system based on the developer's skill portrait.Based on this system,we can achieve real-time display of developer capabilities,dynamic assignment of issues.
Keywords/Search Tags:Open source community, competency assessment, skill portrait, task assignment, association rules
PDF Full Text Request
Related items