An approach for traceability recovery between bug reports and test cases.
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Federal de Campina Grande
Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
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: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346 |
Resumo: | Recuperação de links de rastreabilidade automaticamente entre artefatos de software potencialmente melhora o processo de desenvolvimento de software, ajudando a detectar problemas mais cedo durante o ciclo de vida do software. Abordagens que aplicam técnicas de Recuparação da Informação ou Aprendizam de Máquina em dados textuais têm sido propostas, contudo estas técnicas diferem consideravelmente em termos de parâmetros de entrada e resultados obtidos. É difícil distinguir os benefícios e as falhas das técnicas quando essas são aplicadas isoladamente, usualmente em projetos pequenos ou de tamanho médio. Além disso, um visão mais abrangente poderia ser feita se uma técnica de Aprendizagem Profunda fosse aplicada em comparação com as técnicas tradicionais de Recuperação da Informação. Nós propomos uma abordagem para recuperar links de rastreabilidade entre artefatos textuais de software, especificamente relatórios de falhas e casos de teste, que são relacionados através de técnicas de Recuperação da Informação e Aprendizagem Profunda. Para avaliar a efetivadade de cada técnica, nós usamos um conjunto de dados históricos do Mozilla Firefox usados pelos times de controle de qualidade. As seguintes técnicas de Recuperação da Informação foram estudadas: Latent Semantic Indexing, Latent Dirichlet Allocation e Best Match 25. Adicionalmente, nós também aplicamos uma técnica de Aprendizagem Profunda chamada Word Vector. Uma vez que não possuímos uma matriz de rastreabilidade que ligue diretamente relatórios de falhas e casos de teste, nós usamos system features como artefatos intermediários. No contexto de rastreabilidade entre relatórios de falhas e casos de teste, nós identificamos uma performance pobre de três entre as quatro técnicas estudadas. Apenas a técnica Latent Semantic Indexing apresenta resultados satisfatórios, mesmo que comparando com a técnica estado-da-arte Best Match 25. Ao passo que a técnica Word Vector apresentou a efetividade mais baixa dentre todas as técnicas. Os resultados obtidos mostram que a aplicação da técnica Latent Semantic Indexing – em conjunto com uma combinação de limiares que definem se um link candidato é positivo ou não – é viável para projetos grandes e reais usando um processo de recuperação de links de rastreabilidade semi-automático, onde os analistas humanos são auxiliados por uma ferramenta de software apropriada. |