LOBUS-OWL: modelo de localização de defeitos em código-fonte apoiado por ontologia

Carregando...
Imagem de Miniatura

Data

2022-07-25

Autores

Silva, Alisson Solitto da

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Estadual Paulista (Unesp)

Resumo

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.
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

Palavras-chave

Localização de defeitos, Ontologia, Manutenção corretiva, Engenharia de software, Bug location, Ontology, Corrective maintenance, Software engineering

Como citar