🤖 AI Summary
This study addresses the lack of effective mechanisms for matching developer expertise to new long-term software components in open-source projects, a gap that leads to inefficient task assignment and degraded code maintainability. Focusing specifically on the allocation of developers to long-term modules, this work proposes a novel approach that constructs a developer expertise model based on historical Git commits and integrates project structure to enable precise recommendations. The method combines commit data analysis, expertise modeling, model inference, and server-side caching. Experimental results demonstrate that 72.4% of target developers were ranked within the top 10 recommendations out of a pool of 47 candidates, and the incorporation of caching improved worst-case response time by a factor of 9.86.
📝 Abstract
Open-source software development through GitHub has enabled countless software projects to be developed by developers from across the world. Assigning the right task to the right developer enables teams to work efficiently. Assigning a task which is not representative of a developer's expertise results in slower completion time and less maintainable code. Whilst much work has been done to automate this assignment for specific jobs, there is little work addressing the assignment of developers to expertise-specific long-term components of a new project. This paper produces a web application that models developers' expertise based on their previous Git commits and automatically assigns them to an optimal task within a new project. Testing showed that the system's speed varies depending on the back-end model used but server-side data caching improved worst-case speeds by a factor of 9.86. 72.4% of tasks had their target developer listed in the top 10, out of a possible 47.