Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis

Abstract: Last years developers became interested in competitive programming, producing the burst of online platforms which design competitions, where a set of programming problems should be solved. People realize this format is also useful for recruiting and training purposes. As developers partici...

Full description

Autores:
Garavito Mendez, Oscar Javier
Tipo de recurso:
Fecha de publicación:
2019
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/76553
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/76553
http://bdigital.unal.edu.co/73057/
Palabra clave:
Reputation
Source Code Analysis
Classifier Models
Random Forest
Reputación
Análisis de Código Fuente
Modelos de Clasificación
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
Description
Summary:Abstract: Last years developers became interested in competitive programming, producing the burst of online platforms which design competitions, where a set of programming problems should be solved. People realize this format is also useful for recruiting and training purposes. As developers participate in contests they gain points and are classified in rankings, according to the performance they exhibit in each competition. Today, these ranks are analogous to reputation systems since they indicate the programmers’ expertise. In this thesis dissertation, it is explored the relationship between this reputation and source code features, extracted via source code analysis, of the solutions sent by participants. The aim of this research is to find a set of features, classified into categories lexical, syntactic, quality and readability, which are shared by developers in the same level of knowledge. These features allow us to build a model to predict the programmers’ expertise, considering two classes to divide the developers, who can be assigned to beginners or advanced. In that sense, an experiment was designed to create a classifier model to accomplish that task. Overall, the results look promising, achieving an approximate accuracy of 80 %, and having the lexical features as the most relevant for the model.