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
id UNACIONAL2_2587ff15dd58ff5c4eefc189c467d565
oai_identifier_str oai:repositorio.unal.edu.co:unal/76553
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
title Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
spellingShingle Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
Reputation
Source Code Analysis
Classifier Models
Random Forest
Reputación
Análisis de Código Fuente
Modelos de Clasificación
title_short Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
title_full Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
title_fullStr Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
title_full_unstemmed Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
title_sort Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis
dc.creator.fl_str_mv Garavito Mendez, Oscar Javier
dc.contributor.author.spa.fl_str_mv Garavito Mendez, Oscar Javier
dc.contributor.spa.fl_str_mv Aponte Melo, Jairo Hernan
Restrepo Calle, Felipe
dc.subject.proposal.spa.fl_str_mv Reputation
Source Code Analysis
Classifier Models
Random Forest
Reputación
Análisis de Código Fuente
Modelos de Clasificación
topic Reputation
Source Code Analysis
Classifier Models
Random Forest
Reputación
Análisis de Código Fuente
Modelos de Clasificación
description 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.
publishDate 2019
dc.date.issued.spa.fl_str_mv 2019
dc.date.accessioned.spa.fl_str_mv 2020-03-30T06:22:13Z
dc.date.available.spa.fl_str_mv 2020-03-30T06:22:13Z
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/76553
dc.identifier.eprints.spa.fl_str_mv http://bdigital.unal.edu.co/73057/
url https://repositorio.unal.edu.co/handle/unal/76553
http://bdigital.unal.edu.co/73057/
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.ispartof.spa.fl_str_mv Universidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería de Sistemas e Industrial Ingeniería de Sistemas
Ingeniería de Sistemas
dc.relation.haspart.spa.fl_str_mv 6 Tecnología (ciencias aplicadas) / Technology
62 Ingeniería y operaciones afines / Engineering
dc.relation.references.spa.fl_str_mv Garavito Mendez, Oscar Javier (2019) Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis. Maestría thesis, Universidad Nacional de Colombia - Sede Bogotá.
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Nacional de Colombia
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
Derechos reservados - Universidad Nacional de Colombia
http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/76553/1/Tesis_MSc_UNAL_Oscar_Garavito.pdf
https://repositorio.unal.edu.co/bitstream/unal/76553/2/Tesis_MSc_UNAL_Oscar_Garavito.pdf.jpg
bitstream.checksum.fl_str_mv b42e47df73de4a16bbe90e41b4b6fcf4
11e0e09c6b26f050841ffc0e1fcd54a4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1814090027348525056
spelling Atribución-NoComercial 4.0 InternacionalDerechos reservados - Universidad Nacional de Colombiahttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Aponte Melo, Jairo HernanRestrepo Calle, FelipeGaravito Mendez, Oscar Javier443cc67d-0b36-4219-91e9-99c13cd0b4723002020-03-30T06:22:13Z2020-03-30T06:22:13Z2019https://repositorio.unal.edu.co/handle/unal/76553http://bdigital.unal.edu.co/73057/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.Resumen: En los últimos años, los desarrolladores se han interesado en la programación competitiva, provocando una explosión en el uso de las plataformas en línea que diseñan este tipo de competencias. En ellas se resuelven una serie de problemas de programación. Este formato también ha resultado útil para fines de reclutamiento y capacitación. A medida que los desarrolladores participan en concursos, ganan puntos y se clasifican en rankings, de acuerdo con el rendimiento que tienen en cada competencia. Hoy en día puede decirse que estos rangos son análogos a los sistemas de reputación, ya que dan indicios acerca de la experiencia de los programadores. En esta tesis, se explora la relación entre esta reputación y las características del código fuente, extra ‘idas a través del análisis del código fuente, de las soluciones enviadas por los participantes. El objetivo de esta investigación es encontrar un conjunto de características, clasificadas en categorías léxicas, sintácticas, de calidad y legibilidad, que sean compartidas por los desarrolladores en el mismo nivel de conocimiento. Estas características nos permiten construir un modelo para predecir la experiencia de los programadores, considerándolos como principiantes o avanzados. En ese sentido, se diseñó un experimento para crear un modelo de clasificador, para llevar a cabo esa tarea. En general, los resultados lucen prometedores, logrando una precisión aproximada del 80 % y teniendo a las características léxicas como las más relevantes para el modelo.Maestríaapplication/pdfspaUniversidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería de Sistemas e Industrial Ingeniería de SistemasIngeniería de Sistemas6 Tecnología (ciencias aplicadas) / Technology62 Ingeniería y operaciones afines / EngineeringGaravito Mendez, Oscar Javier (2019) Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code Analysis. Maestría thesis, Universidad Nacional de Colombia - Sede Bogotá.Building a Developer’s Reputation Model for Programming Contest Platforms based on Source Code AnalysisTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMReputationSource Code AnalysisClassifier ModelsRandom ForestReputaciónAnálisis de Código FuenteModelos de ClasificaciónORIGINALTesis_MSc_UNAL_Oscar_Garavito.pdfapplication/pdf793868https://repositorio.unal.edu.co/bitstream/unal/76553/1/Tesis_MSc_UNAL_Oscar_Garavito.pdfb42e47df73de4a16bbe90e41b4b6fcf4MD51THUMBNAILTesis_MSc_UNAL_Oscar_Garavito.pdf.jpgTesis_MSc_UNAL_Oscar_Garavito.pdf.jpgGenerated Thumbnailimage/jpeg4696https://repositorio.unal.edu.co/bitstream/unal/76553/2/Tesis_MSc_UNAL_Oscar_Garavito.pdf.jpg11e0e09c6b26f050841ffc0e1fcd54a4MD52unal/76553oai:repositorio.unal.edu.co:unal/765532024-07-14 01:00:49.974Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.co