Automatic recommendation of developers for open-source software tasks using knowledge graph embedding

For software development to succeed, qualified developers with the necessary abilities are required to provide a high-performance solution. Since people have a wide range of skills, considering a wide range of developers to include in a team is an integral part of the selection process. This problem...

Full description

Saved in:
Bibliographic Details
Main Author: Ruenin P.
Other Authors: Mahidol University
Format: Article
Published: 2023
Subjects:
Online Access:https://repository.li.mahidol.ac.th/handle/123456789/86626
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Mahidol University
Description
Summary:For software development to succeed, qualified developers with the necessary abilities are required to provide a high-performance solution. Since people have a wide range of skills, considering a wide range of developers to include in a team is an integral part of the selection process. This problem becomes more aggravating in online open-source software settings, where developers from around the globe become viable candidates. This paper proposed a method for recommending developers for a specific software task using knowledge graph embedding. The knowledge graph using data from Moodle, an open-source software project housed in the JIRA platform, was crafted. The constructed knowledge graph represented the relationship among software development factors, such as skills, developers' collaboration, task dependencies, task locality, and task creation dates. The link prediction protocol was used to recommend a list of developer candidates. The comparison of techniques with the existing developer recommendation algorithms showed that the developed approach outperformed those state-of-the-art recommendation baselines. The experiment results are encouraging and shed light on the possibility of extending the proposed algorithm to recommend software team members for various other roles, such as reviewers, testers, and integrators.