Dados do Trabalhos de Conclusão

UNIVERSIDADE FEDERAL DE SÃO PAULO
Ciência da Computação (33009015079P0)
Expansão Automática de Query Baseada em Vocabulário para Busca de Código
ADRIANO CARVALHO DE PAULA
DISSERTAÇÃO
15/04/2014

Engenheiros de software frequentemente utilizam práticas de busca de código para apoiar atividades de manutenção e evolução de software, em particular o reúso de código. Um fator que compromete a efetividade da busca de código é o problema da incompatibilidade de vocabulário: ao buscar por uma função específica, o usuário deve procurar adivinhar os termos exatos utilizados pelo autor do código a ser buscado. Neste projeto de mestrado foi investigada uma abordagem de Expansão Automática de Query (EAQ) que usa técnicas de Recuperação de Informação (RI) baseadas em vocabulários (tesauros) para aumentar as chances de encontrar código relevante. A ideia básica é adicionar automaticamente termos similares de cada palavra-chave à query, melhorando assim o alcance da busca. A abordagem é aplicada principalmente sobre a Busca de Código Guiada por Testes (BCGT), uma técnica promissora de recuperação de código que utiliza casos de teste como entrada para formular a query de busca. Como a BCGT também se utiliza de palavras-chave, a incompatibilidade de vocabulário impacta negativamente sua efetividade. A abordagem foi implementada especialmente como extensão da ferramenta CodeGenie, um plugin do Eclipse que apoia a BCGT. Para avaliação da abordagem de EAQ proposta, construiu-se um ambiente experimental que simulou a situação na qual o usuário pudesse buscar pela implementação de um método específico. Com a análise de distintas execuções do experimento observou-se claramente melhoras nas métricas utilizadas, quando alguma forma de EAQ foi aplicada. Os resultados observados indicam a possibilidade da integração da abordagem estudada a metodologias de desenvolvimento de software, permitindo a diminuição de custos.

busca de código-fonte, reuso de software, expansão automática de query, busca de código guiada por teste, busca de código guiada por interface, codegenie
Modern software engineers frequently resort to code search practices to support software maintenance and evolution tasks, in particular code reuse. An issue that affects the effectiveness of code search is the vocabulary mismatch problem: while searching for a particular function, the user has to guess the exact words chosen by original developers to name code entities. This monograph presents a master’s project that investigated an automatic query expansion (AQE) approach that uses technical information retrieval based on thesauri to increase the chances of finding relevant code. The basic idea is automatically add similar terms of each word to the query, to improve the query’s recall. The approach is applied based on Test-Driven Code Search (TDCS), a promising code retrieval technique that uses test cases as inputs to formulate the search query. Since TDCS also relies on keywords, the vocabulary mismatch problem is also relevant here. The approach was implemented as an extension to CodeGenie, an Eclipse plug-in that supports TDCS. To evaluate the AQE approach, we conducted experiments involving professionals and undergraduate students. Results indicate that the approach improves recall significantly when compared with the search without its use. Such promising results are an evidence of the possibility of integrating the approach to software development methodologies to decrease costs.
-
55
PORTUGUES
UNIVERSIDADE FEDERAL DE SÃO PAULO

Contexto

CIÊNCIA DA COMPUTAÇÃO
SISTEMAS COMPUTACIONAIS
USO DE TÉCNICAS DE TESTE E DE BUSCA NO DESENVOLVIMENTO DE SOFTWARE CONTEMPORÂNEO

Banca Examinadora

OTAVIO AUGUSTO LAZZARINI LEMOS
Sim
Nome Categoria
EDUARDO MARTINS GUERRA Participante Externo
FABIO FAGUNDES SILVEIRA Docente
ALESSANDRO FABRICIO GARCIA Participante Externo

Vínculo

Bolsa de Fixação
Empresa Pública ou Estatal
Pesquisa
Sim