Filtragem robusta de ruído de rótulo para previsão de defeitos de software

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: PEREIRA, Alysson Bispo
Orientador(a): PRUDÊNCIO, Ricardo Bastos Cavalcante
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/45664
Resumo: Várias métricas de software e métodos estatísticos foram desenvolvidos para ajudar as empresas a prever defeitos de software. Tradicionalmente, para garantir a qualidade do soft- ware, o código-fonte pode ser inspecionado estaticamente por processos de revisão de código ou mesmo avaliado por meio da execução de testes por meio da execução do software. Por outro lado, os métodos de aprendizado de máquina foram treinados usando conjuntos de dados rotulados com base nas alterações de código e bugs relatados. Estudos anteriores demonstra- ram que esses conjuntos de dados são geralmente ruidosos devido a bugs não relatados ou devido a inconsistências nos relatórios de bug. Nesses casos, muitas instâncias de treinamento são atribuídas ao rótulo de classe errado. Como em qualquer outro contexto de aprendizado de máquina, o desempenho de um preditor de defeito depende de um conjunto de dados de treinamento confiável. Assim, evitar o uso de instâncias ruidosas na fase de treinamento pode ser crucial. As abordagens usadas até agora para detectar ruídos não consideraram métodos tradicionais de garantia de qualidade de software, como revisão de código. Neste artigo, pro- pomos Robust Label Noise Filtering (RLNF) para aplicar técnicas de detecção de ruído de rótulo para identificar defeitos de software não relatados, identificando artefatos de software rotulados como livres de defeitos quando na verdade possuem defeitos ainda não encontra- dos pelos usuários finais. Para isso, estamos utilizando diferentes estratégias de detecção de ruído de rótulo para reproduzir os mecanismos usados no processo de revisão de código. Os experimentos foram realizados em um conjunto de benchmarking de projetos de software, alcançando resultados promissores.