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

Main Article Content

Pisol Ruenin
Morakot Choetkiertikul
Akara Supratak
Suppawong Tuarob

Abstract

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.

Downloads

Download data is not yet available.

Article Details

How to Cite
Ruenin, P., Choetkiertikul, M., Supratak, A., & Tuarob, S. (2022). Automatic recommendation of developers for open-source software tasks using knowledge graph embedding. Science, Engineering and Health Studies, 16, 22020006. https://doi.org/10.14456/sehs.2022.32
Section
Physical sciences

References

Agarwal, N., and Rathod, U. (2006). Defining ‘success’ for software projects: An exploratory revelation. International Journal of Project Management, 24(4), 358-370.

Bordes, A., Usunier, N., Garcia-Duran, A., Weston, J., and Yakhnenko, O. (2013). Translating embeddings for modeling multi-relational data. In Proceedings of the 27th Conference on Neural Information Processing Systems, 1282. Nevada, USA.

Giardino, C., Wang, X., and Abrahamsson, P. (2014). Why early-stage software startups fail: A behavioral framework. In Proceedings of Software Business. Towards Continuous Value Delivery, pp. 27-41. Paphos, Republic of Cyprus.

Gong, F., Wang, M., Wang, H., Wang, S., and Liu, M. (2021). SMR: Medical knowledge graph embedding for safe medicine recommendation. Big Data Research, 23, 100174.

Liu, H., Qiao, M., Greenia, D., Akkiraju, R., Dill, S., Nakamura, T., Song, Y., and Nezhad, H. M. (2014). A machine learning approach to combining individual strength and team features for team recommendation. In Proceedings of the 13th International Conference on Machine Learning and Applications, pp. 213-218. Michigan, USA.

Nguyen, D. Q., Nguyen, T. D., Nguyen, D. Q., and Phung, D. (2017). A novel embedding model for knowledge base completion based on convolutional neural network. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 327-333. Louisiana, USA.

Nickel, M., Rosasco, L., and Poggio, T. (2016). Holographic embeddings of knowledge graphs. In Proceedings of the 30th AAAI Conference on Artificial Intelligence, pp 1955-1961. Arizona, USA.

Singh, P. V. (2010). The small-world effect: The influence of macro-level properties of developer collaboration networks on open-source project success. ACM Transactions on Software Engineering and Methodology, 20(2), 6.

Trouillon, T., Welbl, J., Riedel, S., Gaussier, É., and Bouchard, G. (2016). Complex embeddings for simple link prediction. In Proceedings of the 33rd International Conference on Machine learning, pp. 2071-2080. New York, USA.

Tuarob, S., Assavakamhaenghan, N., Tanaphantaruk, W., Suwanworaboon, P., Hassan, S. U., and Choetkiertikul, M. (2021). Automatic team recommendation for collaborative software development. Empirical Software Engineering, 26, 64.

Yang, B., Yih, W. T., He, X., Gao, J., and Deng, L. (2015). Embedding entities and relations for learning and inference in knowledge bases. In Proceedings of the 3rd International Conference on Learning Representations, arXiv:1412.6575. California, USA.

Ye, Q., Hsieh, C. Y., Yang, Z., Kang, Y., Chen, J., Cao, D., He, S., and Hou, T. (2021). A unified drug-target interaction prediction framework based on knowledge graph and recommendation system. Nature Communications, 12, 6775.

Zhang, X., Wang, T., Yin, G., Yang, C., Yu, Y., and Wang, H. (2017). DevRec: A developer recommendation system for open source repositories. In Proceedings of the 16th International Conference on Software Reuse, pp. 3-11. Salvador, Brazil.