Software Skills Identification: A Multi-Class Classification on Source Code Using Machine Learning

In the ever-evolving tech industry, accurately assessing the software skills of developers is critical for effective workforce management. This study presents a machine learning approach to classify software development knowledge through source code analysis, focusing on Java-based technologies. A dataset of several source code files from multiple domains of software development was compiled from public repositories and labeled for classification. The high performance achieved in this study, by applying transfer learning, underlines the suitability of pre-trained CodeBERT models for the classification of software skills. The methodology combined both non-pretrained neural networks and pretrained models to enhance classification accuracy. Results validate the feasibility of using machine learning to identify developers' programming proficiencies, providing a foundation for sophisticated assessment tools. Future work aims to refine classification by incorporating functional task identification and commit-based analysis for a more comprehensive evaluation of coding skills. This study showcases the transformative potential of machine learning in streamlining developer assessments and advancing software engineering methodologies.

Authors

Institutions

Publication Details

Journal
Global Clinical Engineering Journal
Published
2024-12-31
DOI
https://doi.org/10.31354/globalce.v6isi6.278
Citations
1
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.78
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Software Skills Identification: A Multi-Class Classification on Source Code Using Machine Learning

Ilias Kalouptsoglou, Alexandros Chatzigeorgiou, Apostolos Ampatzoglou, Dimitris Bamidis
1 citations
Global Clinical Engineering Journal
Software Engineering Research
0.78
article

Software Skills Identification: A Multi-Class Classification on Source Code Using Machine Learning

Ilias Kalouptsoglou, Alexandros Chatzigeorgiou, Apostolos Ampatzoglou, Dimitris Bamidis
article en
1 citations

Abstract

In the ever-evolving tech industry, accurately assessing the software skills of developers is critical for effective workforce management. This study presents a machine learning approach to classify software development knowledge through source code analysis, focusing on Java-based technologies. A dataset of several source code files from multiple domains of software development was compiled from public repositories and labeled for classification. The high performance achieved in this study, by applying transfer learning, underlines the suitability of pre-trained CodeBERT models for the classification of software skills. The methodology combined both non-pretrained neural networks and pretrained models to enhance classification accuracy. Results validate the feasibility of using machine learning to identify developers' programming proficiencies, providing a foundation for sophisticated assessment tools. Future work aims to refine classification by incorporating functional task identification and commit-based analysis for a more comprehensive evaluation of coding skills. This study showcases the transformative potential of machine learning in streamlining developer assessments and advancing software engineering methodologies.

Global Clinical Engineering JournalVol. 6(SI6)
University of Macedonia (GR)
Industry, innovation and infrastructure
Openalex Percentile: Top 18%
Software Engineering Research
0.78
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.