Beyond Self-Declared Skills: Inferring Developer Specialization from Public Source Code

  • Enzo Augusto Valentim UFLA
  • Gustavo Vitor da Silva UFLA
  • Johnatan Alves Oliveira UFLA

Resumo


Identifying the technical specialization of developers is relevant to software maintenance and evolution tasks, including expert recommendation, task assignment, onboarding, and the analysis of open-source communities. However, developer profiles are often based on self-declared information, which may be incomplete, outdated, or disconnected from actual development activity. This paper presents an automated approach for characterizing technical specialization from public source-code repositories. The approach combines identity resolution, Degree of Authorship-based file attribution, programming-language inference, language-specific calibration of relative technical experience, dependency extraction, and LLM-based semantic inference. The resulting profile includes four dimensions: main programming language, broad technical area, specific technical skills, and relative technical experience.We evaluated the approach with 154 GitHub developers across Java, JavaScript, Python, C, C++, and C#. The results show that dimensions closer to observable code evidence are inferred more accurately: main programming language achieved 97.01% accuracy, followed by specific technical skills with 86.77%, broad technical area with 80.00%, and relative technical experience with 75.22%. These findings indicate that public repositories can support evidence-based developer profiling for maintenance and evolution scenarios, while reinforcing that public-code activity should not be interpreted as a complete measure of professional competence or seniority.
Palavras-chave: Mining Software Repositories, Developer Profiling, Software Maintenance, Software Evolution, Degree of Authorship

Referências

John Anvik, Lyndon Hiew, and Gail C. Murphy. 2006. Who Should Fix This Bug?. In Proceedings of the 28th International Conference on Software Engineering (ICSE ’06). ACM, 361–370. DOI: 10.1145/1134285.1134336

G. Avelino, L. Passos, F. Petrillo, and M. T. Valente. 2018. Who can maintain this code?: Assessing the effectiveness of Repository-Mining Techniques for identifying software maintainers. IEEE Software 36, 6 (2018), 34–42. DOI: 10.1109/MS.2018.185140155

S. Baltes and S. Diehl. 2018. Towards a Theory of Software Development Expertise. In Proceedings of the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE ’18). ACM, New York. DOI: 10.1145/3236024.3236061

Angela Fan, Beliz Gokkaya, Mark Harman, Mitya Lyubarskiy, Shubho Sengupta, Shin Yoo, and Jie M. Zhang. 2023. Large Language Models for Software Engineering: Survey and Open Problems. In 2023 IEEE/ACM International Conference on Software Engineering: Future of Software Engineering (ICSE-FoSE). 31–53. DOI: 10.1109/ICSE-FoSE59343.2023.00008

Thomas Fritz, Gail C. Murphy, Emerson Murphy-Hill, Jingwen Ou, and Emily Hill. 2014. Degree-of-knowledge: modeling a developer’s knowledge of code. ACM Transactions on Software Engineering and Methodology (TOSEM) 23, 2 (2014), 14:1–14:42.

G. J. Greene and B. Fischer. 2016. CVExplorer: identifying candidate developers by mining and exploring their open source contributions. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE ’16). ACM, New York, 804–809. DOI: 10.1145/2970276.2970285

Ahmed E. Hassan. 2008. The Road Ahead for Mining Software Repositories. In Proceedings of the Frontiers of Software Maintenance. IEEE, 48–57. DOI: 10.1109/FOSM.2008.4659248

Magne Jørgensen, Gunnar Rye Bergersen, and Knut Liestøl. 2021. Relations Between Effort Estimates, Skill Indicators, and Measured Programming Skill. IEEE Transactions on Software Engineering 47, 12 (2021), 2892–2906. DOI: 10.1109/TSE.2020.2973638

Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M. German, and Daniela Damian. 2014. The Promises and Perils of Mining GitHub. In Proceedings of the 11th Working Conference on Mining Software Repositories (MSR 2014). ACM, 92–101. DOI: 10.1145/2597073.2597074

J. R. Landis and G. G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics 33, 1 (1977), 159–174.

Pengfei Liu, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, and Graham Neubig. 2023. Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. Comput. Surveys 55, 9, Article 195 (2023). DOI: 10.1145/3560815

Jefferson G. M. Lopes, Johnatan Alves, and Eduardo Figueiredo. 2022. EXTRACTPRO: A Data Mining Tool for Developer Profile Generation Based on Source Code Analysis. In Anais do XXXVI Simpósio Brasileiro de Engenharia de Software (SBES). Sociedade Brasileira de Computação, Porto Alegre, 112–117.

Shawn Minto and Gail C. Murphy. 2007. Recommending Emergent Teams. In Proceedings of the Fourth International Workshop on Mining Software Repositories (MSR ’07). IEEE Computer Society, 5.

Audris Mockus and James D. Herbsleb. 2002. Expertise Browser: A Quantitative Approach to Identifying Expertise. In Proceedings of the 24th International Conference on Software Engineering (ICSE ’02). ACM, 503–512. DOI: 10.1145/581339.581401

João EduardoMontandon,Marco Tulio Valente, and Luciana L. Silva. 2021. Mining the Technical Roles of GitHub Users. Information and Software Technology 131 (2021), 106485. DOI: 10.1016/j.infsof.2020.106485

J. A. Oliveira, M. Viggiato, D. Pinheiro, and E. Figueiredo. 2021. Mining Experts from Source Code Analysis: An Empirical Evaluation. Journal of Software Engineering Research and Development 9, 1 (2021), 1:1–1:16. DOI: 10.5753/jserd.2021.548

Adriano Santos, Maurício Souza, Johnatan Oliveira, and Eduardo Figueiredo. 2018. Mining Software Repositories to Identify Library Experts. In Anais do XII Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS). Sociedade Brasileira de Computação, Porto Alegre, 83–91.

Anita Sarma, Larry Maccherone, Patrick Wagstrom, and James Herbsleb. 2009. Tesseract: Interactive Visual Exploration of Socio-Technical Relationships in Software Development. In Proceedings of the 31st International Conference on Software Engineering (ICSE ’09). IEEE Computer Society, 23–33. DOI: 10.1109/ICSE.2009.5070513

R. Saxena and N. Pedanekar. 2017. I know what you coded last summer: Mining candidate expertise from GitHub repositories. In Companion of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing. ACM, New York, 299–302.

Davide Spadini, Maurício Aniche, and Alberto Bacchelli. 2018. PyDriller: Python Framework for Mining Software Repositories. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM, 908–911. DOI: 10.1145/3236024.3264598

Igor Steinmacher, Tayana Conte, Christoph Treude, and Marco Aurélio Gerosa. 2015. A Systematic Literature Review on the Barriers Faced by Newcomers to Open Source Software Projects. Information and Software Technology 59 (2015), 67–85. DOI: 10.1016/j.infsof.2014.11.001

TIOBE Software BV. 2026. TIOBE Index for June 2026. [link]. Accessed: 2026-06-30.

R. Venkataramani, A. Gupta, A. Asadullah, B. Muddu, and V. Bhat. 2013. Discovery of Technical Expertise from Open Source Code Repositories. In Proceedings of the 22nd International Conference on World Wide Web. ACM, New York, 97–98. DOI: 10.1145/2487788.2487832

Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in Software Engineering. Springer. DOI: 10.1007/978-3-642-29044-2
Publicado
11/09/2026
VALENTIM, Enzo Augusto; SILVA, Gustavo Vitor da; OLIVEIRA, Johnatan Alves. Beyond Self-Declared Skills: Inferring Developer Specialization from Public Source Code. In: WORKSHOP DE VISUALIZAÇÃO, EVOLUÇÃO E MANUTENÇÃO DE SOFTWARE (VEM), 14. , 2026, São Paulo/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2026 . p. 28-34. DOI: https://doi.org/10.5753/vem.2026.32425.