LOBUS-OWL: modelo de localização de defeitos em código-fonte apoiado por ontologia
Carregando...
Data
2022-07-25
Autores
Orientador
Garcia, Rogério Eduardo
Coorientador
Pós-graduação
Ciência da Computação - FCT
Curso de graduação
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Estadual Paulista (Unesp)
Tipo
Dissertação de mestrado
Direito de acesso
Acesso restrito
Resumo
Resumo (português)
Os relatórios de defeitos ajudam a triagem de inconsistências encontradas durante todo o ciclo de vida do software, por possuírem informações valiosas para a Engenharia de Software. O processo de localização de defeitos busca identificar artefatos de código-fonte possivelmente relacionados ao defeito reportado. Essa tarefa executada de maneira manual é onerosa para os programadores responsáveis pela correção, que geralmente precisam realizar a análise no código-fonte para identificar o artefato defeituoso e, depois, realizar as manutenções necessárias. O processo de localização de defeitos auxilia os programadores delimitando o espaço de busca e identificando arquivos relevantes relacionados ao defeito. Geralmente, as metodologias adotadas para o processo de localização de defeitos utilizam técnicas de aprendizado de máquina com similaridade textual, algoritmos de classificação e agrupamento de arquivos de código-fonte de acordo com os dados extraídos dos relatórios de defeitos. Nessas abordagens de localização de defeitos, os arquivos de código-fonte são considerados como unidades, podendo gerar ruídos quando o arquivo de código-fonte é grande. Neste trabalho é apresentado um modelo de localização de defeitos utilizando o conhecimento semântico do código-fonte com o apoio de ontologias. O desempenho do modelo proposto foi avaliado em seis projetos de software relevantes de código aberto (AutoMapper, MsBuild, EfCore, AspNetCore, MQTTnet e NLog) utilizando as métricas de avaliação Top N Rank of Files (TNRF), Mean Reciprocal Rank (MRR) e Mean Average Precision (MAP). Os resultados mostram que o modelo proposto alcança resultados significativos.
Resumo (inglês)
Bug reports help triage inconsistencies found throughout the software lifecycle, as these reports contain valuable information for Software Engineering. The bug location process seeks to identify source code artifacts possibly related to the reported bug. This manually performed task is costly for the programmers responsible for the correction, who usually need to perform analysis on the source code to identify the defective artifact and then carry out the necessary maintenance. The bug location process helps programmers by delimiting the search space and identifying relevant files related to the bug report. Generally, the methodologies adopted for the process of localization bugs use machine learning techniques with textual similarity, classification algorithms and grouping of source code files according to the data extracted from bug reports. In these bug location approaches, source code files are considered as single units, and may generate noise when the source code file is large. In this work, a bug location model is presented using semantic domain knowledge of the source code with the support of ontologies. We evaluated the performance of the proposed model in six relevant open source software projects (AutoMapper, MsBuild, EfCore, AspNetCore, MQTTnet and NLog) and carried out the experiments using the evaluation metrics Top N Rank of Files (TNRF), Mean Reciprocal Rank (MRR) and Mean Average Precision (MAP). The results show that the proposed model achieves significant results.
Descrição
Idioma
Português