Impacto da Relação de Subsunção na Localização de Defeitos baseados em Espectros de Fluxo de Dados

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Silva, Dennis Lopes da
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.teses.usp.br/teses/disponiveis/100/100131/tde-08052023-102345/
Resumo: Depuração tem por objetivo localizar e corrigir os defeitos do software. Para auxiliar o desenvolvedor foram desenvolvidas técnicas de localização de defeitos que utilizam métricas de associação e dados de cobertura de código (espectros) para identificar os trechos de código mais suspeitos. Elas auxiliam o desenvolvedor por meio de um ranking dos espectros mais suspeitos que pode ser usado para orientar a caça aos defeitos. Essas técnicas, quando baseadas em espectros de fluxo de dados, utilizam as associações definição uso (ADU) para cálculo das posições no ranking. No entanto, a cobertura de dadas ADUs, muitas vezes, garantem a cobertura de outras ADUs, numa relação entre elas denominada subsunção. Na prática, a relação de subsunção significa que se uma determinada ADU é coberta, outras também são, em determinadas condições, garantidamente cobertas. Com base na propriedade de subsunção, esse trabalho apresenta um experimento no qual é avaliada a eficácia da localização de defeitos com a utilização apenas dos espectros do conjunto de ADUs não-limitadas, ou seja, o conjunto minimal de ADUs que garante a cobertura de todas as outras ADUs do software em teste. Para tal experimento são utilizados um subconjunto dos programas do repositório Defects4J, espectros de fluxo de dados e a métrica de associação Ochiai. Os resultados do experimento indicam que a maioria dos defeitos localizados por espectros de fluxo de dados podem ser localizados inspecionando apenas as ADUs não-limitadas, sobretudo quando são consideradas apenas as ADUs posicionadas nos primeiros rankings. Além disso, o número de linhas de código a serem inspecionadas pelo programador é reduzido.