Busca avançada
Ano de início
Entree


Utilizando técnicas de processamento de linguagem natural para refatoração automática de código

Texto completo
Autor(es):
Alan Barzilay
Número total de Autores: 1
Tipo de documento: Dissertação de Mestrado
Imprenta: São Paulo.
Instituição: Universidade de São Paulo (USP). Instituto de Matemática e Estatística (IME/SBI)
Data de defesa:
Membros da banca:
Eduardo Martins Guerra; Mauricio Finavaro Aniche; Aline Marins Paes Carvalho
Orientador: Marcelo Finger
Resumo

Técnicas de processamento de linguagem natural podem ser aplicadas aos mais diversos textos, não somente àqueles redigidos em linguagens humanas como também àqueles redigidos em linguagens ditas artificiais, como códigos escritos em linguagens de programação. Refatoração de código é uma técnica fundamental em engenharia de software, sendo utilizada tanto como uma ferramenta para garantir a qualidade do código como também como um passo importante na expansão de funcionalidades e depuração. Nesse trabalho propomos um modelo para refatoração automática de código. Ao utilizar diretamente o código fonte como entrada em nosso modelo de processamento de código nós obtemos automaticamente sugestões de refatorações do tipo extração de função. O modelo proposto consiste em uma rede neural capaz de receber uma representação vetorial do código a ser refatorado e gerar uma representação da refatoração sugerida. Essa rede foi treinada com base numa lista de repositórios de código obtida através de uma colaboração com a TU Delft na Holanda. Com base nessa lista foi criado o maior dataset de refatorações de extração de função existente --- até o momento da publicação dessa tese --- sendo 60% maior do que o segundo maior dataset de seu tipo. Além disso, nosso modelo final atingiu uma acurácia de teste de 0.7275. (AU)

Processo FAPESP: 20/02679-4 - NLPCode: aplicação de técnicas de processamento de linguagem natural para a automação da refatoração de código
Beneficiário:Alan Barzilay
Modalidade de apoio: Bolsas no Brasil - Mestrado