Estudo do uso de vocabulários para analisar o impacto de relatórios de defeitos a código-fonte.
Autor(a) principal: | |
---|---|
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 |