CLASSIFICAÇÃO DE LINGUAGENS DE PROGRAMAÇÃO UTILIZANDO TÉCNICAS DE MACHINE LEARNING

  • Gabriela Ramalho
  • Marco Sousa
  • Bruno Andre Santos
  • Rogério Martins Gomes
  • Renan Mateus B. do Nascimento

Resumo

O compartilhamento de programas em diferentes linguagens de programação tem se tornadocada vez mais comum na internet. Reconhecer a linguagem de programação do trechode código compartilhado ´é de grande importância para os mecanismos de busca e também naaplicação da formatação adequada. No entanto, a grande maioria dos sistemas realiza estacategorização de forma manual, com base na extensão do arquivo. Sendo assim, este artigopropõe um método automático de classificação de linguagens de programação. O método écomposto por duas etapas. Na primeira etapa, uma base de dados consistindo do número deocorrências das palavras encontradas nos trechos de código é gerada automaticamente. Nasegunda etapa, os classificadores Naive Bayes, Redes Bayesianas, Árvore de decisão (J48) eRedes Neurais Artificiais de Múltiplas Camadas são utilizados para realizar a classificação dostrechos de códigos. Os resultados encontrados mostraram que a acurácia alcançada por todosclassificadores foi superior a 95,4%, mas que o desempenho é dependente da maneira como abase de dados de palavras é construída. Além disso, este trabalho mostrou que as árvores dedecisão J48 apresentaram o melhor resultado, alcançando uma acurácia de 98,9% no processode classificação das linguagens de programação.
Publicado
21-12-2018