Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.

Detalhes bibliográficos
Autor(a) principal: CAVALCANTI, Diego Tavares.
Data de Publicação: 2012
Tipo de documento: Dissertação
Idioma: por
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/1839
Resumo: Localizar e corrigir defeitos são tarefas comuns no processo de manutenção de software. Entretanto, a atividade de localizar entidades de código que são possivelmente defeituosas e que necessitam ser modificadas para a correção de um defeito, não é trivial. Geralmente, desenvolvedores realizam esta tarefa por meio de um processo manual de leitura e inspeção do código, bem como de informações cadastradas em relatórios de defeitos. De fato, é necessário que os desenvolvedores tenham um bom conhecimento da arquitetura e do design do software a fim de realizarem tal tarefa. Entretanto, este conhecimento fica espalhado por entre a equipe e requer tempo para ser adquirido por novatos. Assim, é necessário o desenvolvimento de técnicas que auxiliem na tarefa de análise de impacto de relatórios de defeitos no código, independente da experiência do desenvolvedor que irá executá-la. Neste trabalho, apresentamos resultados de um estudo empírico no qual avaliamos se a análise automática de vocabulários de relatórios de defeitos e de software pode ser útil na tarefa de localizar defeitos no código. Nele, analisamos similaridade de vocabulários como fator para sugerir classes que são prováveis de serem impactadas por um dado relatório de defeito. Realizamos uma avaliação com oito projetos maduros de código aberto, desenvolvidos em Java, que utilizam Bugzilla e JIRA como seus repositórios de defeitos. Nossos resultados indicam que a análise de ambos os vocabulários é, de fato, uma fonte valiosa de informação, que pode ser utilizada para agilizar a tarefa de localização de defeitos. Para todos os sistemas estudados, ao considerarmos apenas análise de vocabulário, vimos que, mesmo com um ranking contendo apenas 8% das classes de um projeto, foi possível encontrar classes relacionadas ao defeito buscado em até 75% dos casos. Portanto, podemos concluir que, mesmo que não possamos utilizar vocabulários de software e de relatórios de defeitos como únicas fontes de informação, eles certamente podem melhorar os resultados obtidos, ao serem combinados com técnicas complementares.
id UFCG_21d4f5ec71f7c9e4829a32a97cf04cb3
oai_identifier_str oai:localhost:riufcg/1839
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.Study the use of vocabularies to analyze the impact of defect reports on source code.Localização de defeitos - softwareVocabulário de softwareEngenharia de softwareSoftware - localização de defeitosRelatórios de defeitos - softwareCódigo-fonteManutenção de softwareDesenvolvimento de softwareAnálise de impactos de relatórios de defeitos - softwareSoftware maintenanceSoftware vocabularyDefect Reports - SoftwareAnálise de vocabulário - softwareCiência da Computação.Localizar e corrigir defeitos são tarefas comuns no processo de manutenção de software. Entretanto, a atividade de localizar entidades de código que são possivelmente defeituosas e que necessitam ser modificadas para a correção de um defeito, não é trivial. Geralmente, desenvolvedores realizam esta tarefa por meio de um processo manual de leitura e inspeção do código, bem como de informações cadastradas em relatórios de defeitos. De fato, é necessário que os desenvolvedores tenham um bom conhecimento da arquitetura e do design do software a fim de realizarem tal tarefa. Entretanto, este conhecimento fica espalhado por entre a equipe e requer tempo para ser adquirido por novatos. Assim, é necessário o desenvolvimento de técnicas que auxiliem na tarefa de análise de impacto de relatórios de defeitos no código, independente da experiência do desenvolvedor que irá executá-la. Neste trabalho, apresentamos resultados de um estudo empírico no qual avaliamos se a análise automática de vocabulários de relatórios de defeitos e de software pode ser útil na tarefa de localizar defeitos no código. Nele, analisamos similaridade de vocabulários como fator para sugerir classes que são prováveis de serem impactadas por um dado relatório de defeito. Realizamos uma avaliação com oito projetos maduros de código aberto, desenvolvidos em Java, que utilizam Bugzilla e JIRA como seus repositórios de defeitos. Nossos resultados indicam que a análise de ambos os vocabulários é, de fato, uma fonte valiosa de informação, que pode ser utilizada para agilizar a tarefa de localização de defeitos. Para todos os sistemas estudados, ao considerarmos apenas análise de vocabulário, vimos que, mesmo com um ranking contendo apenas 8% das classes de um projeto, foi possível encontrar classes relacionadas ao defeito buscado em até 75% dos casos. Portanto, podemos concluir que, mesmo que não possamos utilizar vocabulários de software e de relatórios de defeitos como únicas fontes de informação, eles certamente podem melhorar os resultados obtidos, ao serem combinados com técnicas complementares.Locating and fixing bugs described in bug reports are routine tasks in software development processes. A major effort must be undertaken to successfully locate the (possibly faulty) entities in the code that must be worked on. Generally, developers map bug reports to code through manual reading and inspection of both bug reports and the code itself. In practice, they must rely on their knowledge about the software architecture and design to perform the mapping in an efficient and effective way. However, it is well known that architectural and design knowledge is spread out among developers. Hence, the success of such a task is directly depending on choosing the right developer. In this paper, we present results of an empirical study we performed to evaluate whether the automated analysis of bug reports and software vocabularies can be helpful in the task of locating bugs. We conducted our study on eight versions of six mature Java open-source projects that use Bugzilla and JIRA as bug tracking systems. In our study, we have used Information Retrieval techniques to assess the similarity of bug reports and code entities vocabularies. For each bug report, we ranked ali code entities according to the measured similarity. Our results indicate that vocabularies are indeed a valuable source of information that can be used to narrow down the bug-locating task. For ali the studied systems, considering vocabulary similarity only, a Top 8% list of entities has about 75% of the target entities. We conclude that while vocabularies cannot be the sole source of information, they can certainly improve results if combined with other techniques.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGFIGUEIREDO, Jorge César Abrantes de.FIGUEIREDO, J. C. A.http://lattes.cnpq.br/1424808046858622GUERRERO, Dalton Dario Serey.GUERRERO, D. D. S.http://lattes.cnpq.br/2050632960242405MASSONI, Tiago Lima.CHAVEZ, Christina Von Flach Garcia.CAVALCANTI, Diego Tavares.2012-11-262018-09-28T14:01:43Z2018-09-282018-09-28T14:01:43Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1839CAVALCANTI, Diego Tavares. Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte. 2012. 92f. (Dissertação de Mestrado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraiba - Brasil, 2012. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1839porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-21T14:02:28Zoai:localhost:riufcg/1839Biblioteca 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-21T14:02:28Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
Study the use of vocabularies to analyze the impact of defect reports on source code.
title Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
spellingShingle Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
CAVALCANTI, Diego Tavares.
Localização de defeitos - software
Vocabulário de software
Engenharia de software
Software - localização de defeitos
Relatórios de defeitos - software
Código-fonte
Manutenção de software
Desenvolvimento de software
Análise de impactos de relatórios de defeitos - software
Software maintenance
Software vocabulary
Defect Reports - Software
Análise de vocabulário - software
Ciência da Computação.
title_short Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
title_full Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
title_fullStr Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
title_full_unstemmed Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
title_sort Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
author CAVALCANTI, Diego Tavares.
author_facet CAVALCANTI, Diego Tavares.
author_role author
dc.contributor.none.fl_str_mv FIGUEIREDO, Jorge César Abrantes de.
FIGUEIREDO, J. C. A.
http://lattes.cnpq.br/1424808046858622
GUERRERO, Dalton Dario Serey.
GUERRERO, D. D. S.
http://lattes.cnpq.br/2050632960242405
MASSONI, Tiago Lima.
CHAVEZ, Christina Von Flach Garcia.
dc.contributor.author.fl_str_mv CAVALCANTI, Diego Tavares.
dc.subject.por.fl_str_mv Localização de defeitos - software
Vocabulário de software
Engenharia de software
Software - localização de defeitos
Relatórios de defeitos - software
Código-fonte
Manutenção de software
Desenvolvimento de software
Análise de impactos de relatórios de defeitos - software
Software maintenance
Software vocabulary
Defect Reports - Software
Análise de vocabulário - software
Ciência da Computação.
topic Localização de defeitos - software
Vocabulário de software
Engenharia de software
Software - localização de defeitos
Relatórios de defeitos - software
Código-fonte
Manutenção de software
Desenvolvimento de software
Análise de impactos de relatórios de defeitos - software
Software maintenance
Software vocabulary
Defect Reports - Software
Análise de vocabulário - software
Ciência da Computação.
description Localizar e corrigir defeitos são tarefas comuns no processo de manutenção de software. Entretanto, a atividade de localizar entidades de código que são possivelmente defeituosas e que necessitam ser modificadas para a correção de um defeito, não é trivial. Geralmente, desenvolvedores realizam esta tarefa por meio de um processo manual de leitura e inspeção do código, bem como de informações cadastradas em relatórios de defeitos. De fato, é necessário que os desenvolvedores tenham um bom conhecimento da arquitetura e do design do software a fim de realizarem tal tarefa. Entretanto, este conhecimento fica espalhado por entre a equipe e requer tempo para ser adquirido por novatos. Assim, é necessário o desenvolvimento de técnicas que auxiliem na tarefa de análise de impacto de relatórios de defeitos no código, independente da experiência do desenvolvedor que irá executá-la. Neste trabalho, apresentamos resultados de um estudo empírico no qual avaliamos se a análise automática de vocabulários de relatórios de defeitos e de software pode ser útil na tarefa de localizar defeitos no código. Nele, analisamos similaridade de vocabulários como fator para sugerir classes que são prováveis de serem impactadas por um dado relatório de defeito. Realizamos uma avaliação com oito projetos maduros de código aberto, desenvolvidos em Java, que utilizam Bugzilla e JIRA como seus repositórios de defeitos. Nossos resultados indicam que a análise de ambos os vocabulários é, de fato, uma fonte valiosa de informação, que pode ser utilizada para agilizar a tarefa de localização de defeitos. Para todos os sistemas estudados, ao considerarmos apenas análise de vocabulário, vimos que, mesmo com um ranking contendo apenas 8% das classes de um projeto, foi possível encontrar classes relacionadas ao defeito buscado em até 75% dos casos. Portanto, podemos concluir que, mesmo que não possamos utilizar vocabulários de software e de relatórios de defeitos como únicas fontes de informação, eles certamente podem melhorar os resultados obtidos, ao serem combinados com técnicas complementares.
publishDate 2012
dc.date.none.fl_str_mv 2012-11-26
2018-09-28T14:01:43Z
2018-09-28
2018-09-28T14:01:43Z
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/1839
CAVALCANTI, Diego Tavares. Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte. 2012. 92f. (Dissertação de Mestrado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraiba - Brasil, 2012. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1839
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1839
identifier_str_mv CAVALCANTI, Diego Tavares. Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte. 2012. 92f. (Dissertação de Mestrado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraiba - Brasil, 2012. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1839
dc.language.iso.fl_str_mv por
language por
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_ 1809744359540654080