An approach for traceability recovery between bug reports and test cases.

Detalhes bibliográficos
Autor(a) principal: GADELHA, Guilherme Monteiro.
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: 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.
id UFCG_813947744ea7db2dc9fa7b09fdccfd56
oai_identifier_str oai:localhost:riufcg/7346
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling An approach for traceability recovery between bug reports and test cases.Uma abordagem para recuperação de rastreabilidade entre relatórios de erros e casos de teste.Software EngineeringBug ReportsSystem FeaturesTest CasesRequirements TraceabilityInformation RetrievalEngenharia de softwareRelatório de ErrosRecursos do SistemaCaso de TesteRastreabilidade de RequisitosRecuperação de InformaçãoCiência da ComputaçãoRecuperaçã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.Automatic traceability recovery between software artifacts potentially improves the process of developing software, helping detect issues early during its life-cycle. Approaches applying Information Retrieval (IR) or Machine Learning (ML) techniques in textual data have been proposed, but those techniques differ considerably in terms of input parameters and results. It is difficult to assess their benefits and drawbacks when those techniques are applied in isolation, usually in small and medium-sized software projects. Also, an overview would be more comprehensive if a promising Deep Learning (DL) based technique is applied, in comparison with traditional IR techniques. We propose an approach to recover traceability links between textual software artifacts, in special bug reports and test cases, which can be instantiated with a set of IR and DL techniques. For applying and evaluating our solution, we used historical data from the Mozilla Firefox quality assurance (QA) team, for which we assessed the following IR techniques: Latent Semantic Index (LSI), Latent Dirichlet Allocation (LDA) and Best Match 25 (BM25). We also applied the approach with a DL technique called Word Vector. Since there are no traces matrices that straightly link bug reports and test cases, we used system features as intermediate artifacts. In the context of traceability from bug reports to test cases, we noticed poor performances from three out of the four studied techniques. Only the LSI technique presented satisfactory effectiveness, even standing out over the state-of-the-art BM25 technique. Whereas theWord Vector technique presented the lowest effectiveness in our study. The obtained results show that the application of the LSI technique – set up with an appropriate combination of thresholds to define if a candidate trace is positive or not – is feasible for real-world and large software projects using a semi-automatized traceability recovery process, where the human analysts are aided by an appropriated software tool.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGRAMALHO, Franklin de Souza.Ramalho, F. S.http://lattes.cnpq.br/2469816352786812MASSONI, Tiago Lima.MASSONI, T. L.http://lattes.cnpq.br/3563923906851611ALVES , Everton Leandro Galdino.LINO, Natasha Correia Queiroz.GADELHA, Guilherme Monteiro.2019-07-272019-09-26T12:02:38Z2019-09-262019-09-26T12:02:38Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346GADELHA, G. M. An approach for traceability recovery between bug reports and test cases. 2019. 119 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2019. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346enginfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-30T12:12:44Zoai:localhost:riufcg/7346Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-30T12:12:44Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv An approach for traceability recovery between bug reports and test cases.
Uma abordagem para recuperação de rastreabilidade entre relatórios de erros e casos de teste.
title An approach for traceability recovery between bug reports and test cases.
spellingShingle An approach for traceability recovery between bug reports and test cases.
GADELHA, Guilherme Monteiro.
Software Engineering
Bug Reports
System Features
Test Cases
Requirements Traceability
Information Retrieval
Engenharia de software
Relatório de Erros
Recursos do Sistema
Caso de Teste
Rastreabilidade de Requisitos
Recuperação de Informação
Ciência da Computação
title_short An approach for traceability recovery between bug reports and test cases.
title_full An approach for traceability recovery between bug reports and test cases.
title_fullStr An approach for traceability recovery between bug reports and test cases.
title_full_unstemmed An approach for traceability recovery between bug reports and test cases.
title_sort An approach for traceability recovery between bug reports and test cases.
author GADELHA, Guilherme Monteiro.
author_facet GADELHA, Guilherme Monteiro.
author_role author
dc.contributor.none.fl_str_mv RAMALHO, Franklin de Souza.
Ramalho, F. S.
http://lattes.cnpq.br/2469816352786812
MASSONI, Tiago Lima.
MASSONI, T. L.
http://lattes.cnpq.br/3563923906851611
ALVES , Everton Leandro Galdino.
LINO, Natasha Correia Queiroz.
dc.contributor.author.fl_str_mv GADELHA, Guilherme Monteiro.
dc.subject.por.fl_str_mv Software Engineering
Bug Reports
System Features
Test Cases
Requirements Traceability
Information Retrieval
Engenharia de software
Relatório de Erros
Recursos do Sistema
Caso de Teste
Rastreabilidade de Requisitos
Recuperação de Informação
Ciência da Computação
topic Software Engineering
Bug Reports
System Features
Test Cases
Requirements Traceability
Information Retrieval
Engenharia de software
Relatório de Erros
Recursos do Sistema
Caso de Teste
Rastreabilidade de Requisitos
Recuperação de Informação
Ciência da Computação
description 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.
publishDate 2019
dc.date.none.fl_str_mv 2019-07-27
2019-09-26T12:02:38Z
2019-09-26
2019-09-26T12:02:38Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346
GADELHA, G. M. An approach for traceability recovery between bug reports and test cases. 2019. 119 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2019. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346
identifier_str_mv GADELHA, G. M. An approach for traceability recovery between bug reports and test cases. 2019. 119 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2019. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/7346
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv 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
publisher.none.fl_str_mv 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
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744396950700032