Recommending External Developers to Software Projects based on Historical Analysis of Previous Contributions
The software development industry has evolved in recent years and new challenges have emerged. One of them is the difficulty in recruiting developers who are familiar with technologies that may be important to global software development projects. Currently, this task is aided by tools that delegate the mission of actively seeking developers to human recruiters. Unfortunately, when delegating such a task to humans, these tools may miss opportunities, as they may not be able to find all the information about the candidates. Following the methodology of Design Science Research (DSR), this work presents an architecture that helps to find collaborators for projects, along with an ontology. By mining social-coding repositories, the architecture can provide information, through inference (e.g. dependencies in projects in which developers worked) to be used in the recommendation tasks. An initial feasibility study was conducted to assess the feasibility to recommend developers to projects on the Node.js ecosystem. The recommendation system analyzes the previous contributions of the developers in other projects (n = 7000) and extracts technologies in which they explicitly worked and those they may be familiar as they are present in projects they worked with. After, the system compares them to a set of technologies that are part of the project that is the target of the recommendation. The feasibility study evidenced that the architecture can aid in the task of identifying candidates and technologies known to them.
J. D. Herbsleb, "Global Software Engineering: The Future of Sociotechnical Coordination," in Future of Software Engineering (FOSE '07), 2007, pp. 188--198.
X. Sun, W. Xu, X. Xia, X. Chen, and B. Li, "Personalized project recommendation on GitHub," Sci. China Inf. Sci., vol. 61, no. 5, p. 050106, May 2018.
G. Avelino, L. Passos, F. Petrillo, and M. T. Valente, "Who Can Maintain this Code? Assessing the Effectiveness of Repository-Mining Techniques for Identifying Software Maintainers," IEEE Softw., pp. 1--1, 2018.
E. Constantinou and G. M. Kapitsaki, "Identifying Developers' Expertise in Social Coding Platforms," in 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 2016, pp. 63--67.
J. Marlow and L. Dabbish, "Activity traces and signals in software developer recruitment and hiring," in Proceedings of the 2013 conference on Computer supported cooperative work - CSCW '13, 2013, p. 145.
A. R. Hevner, S. T. March, J. Park, and S. Ram, "Design science in information systems research," Manag. Inf. Syst. Q., vol. 28, no. 1, p. 6, 2008.
A. E. Hassan, "The road ahead for Mining Software Repositories," in 2008 Frontiers of Software Maintenance, 2008, pp. 48--57.
N. Guarino, D. Oberle, and S. Staab, "What Is an Ontology?," in Handbook on Ontologies, 2009, pp. 1--17.
G. Adomavicius and A. Tuzhilin, "Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions," IEEE Trans. Knowl. Data Eng., vol. 17, no. 6, pp. 734--749, 2005.
J. Bobadilla, F. Ortega, A. Hernando, and A. Gutiérrez, "Recommender systems survey," Knowledge-Based Syst., vol. 46, pp. 109--132, Jul. 2013.
De Oliveira Junior, M.T., R. M. M. Braga Villela, J. M. Nazar David, M. A. Pereira Araújo, V. S. De Andrade Menezes, and F. C. A. Campos, "An ontology-based approach to identify developers in a software ecosystem based on their skillset," in Avances en Ingenieria de Software a Nivel Iberoamericano, CIbSE 2018, 2018, pp. 185--198.
J. G. Breslin, S. Decker, A. Harth, and U. Bojars, "SIOC: an approach to connect web-based communities," Int. J. Web Based Communities, vol. 2, no. 2, p. 133, 2006.
M. Würsch, G. Ghezzi, M. Hert, G. Reif, and H. C. Gall, "SEON: a pyramid of ontologies for software evolution and its applications," Computing, vol. 94, no. 11, pp. 857--885, Nov. 2012.
E. Sirin, B. Parsia, B. C. Grau, A. Kalyanpur, and Y. Katz, "Pellet: A practical OWL-DL reasoner," J. Web Semant., vol. 5, no. 2, pp. 51--53, Jun. 2007.
F. Shull et al., "Knowledge-Sharing Issues in Experimental Software Engineering," Empir. Softw. Eng., vol. 9, no. 1/2, pp. 111--137, 2004.
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén, "Experimentation in Software Engineering," 2012.
G. Gousios, "The GHTorrent dataset and tool suite," in Proceedings of the 10th Working Conference on Mining Software Repositories, 2013, pp. 233--236.
T. (Terence J. Parr, The definitive ANTLR 4 reference. The Pragmatic Programmers, 2014.