Improving bug localization by mining crash reports: an empirical study
dc.contributor.advisor | Kulesza, Uira | |
dc.contributor.advisorID | pt_BR | |
dc.contributor.author | Medeiros, Marcos Alexandre de Melo | |
dc.contributor.authorID | pt_BR | |
dc.contributor.referees1 | Barbosa, Eiji Adachi Medeiros | |
dc.contributor.referees1ID | pt_BR | |
dc.contributor.referees2 | Cacho, Nelio Alessandro Azevedo | |
dc.contributor.referees2ID | pt_BR | |
dc.contributor.referees3 | Almeida, Rodrigo Bonifácio de | |
dc.contributor.referees3ID | pt_BR | |
dc.date.accessioned | 2020-05-05T17:08:47Z | |
dc.date.available | 2020-05-05T17:08:47Z | |
dc.date.issued | 2020-02-19 | |
dc.description.abstract | The information available in crash reports has been used to understand the root cause of bugs and improve the overall quality of systems. Nonetheless, crash reports often lead to a huge amount of information, being necessary to apply techniques that aim to consolidate the crash report data into groups, according to a set of well-defined criteria. In this dissertation, we contribute with a customization of rules that automatically find and group correlated crash reports (according to their stack traces) in the context of large scale web-based systems. We select and adapt some existing approaches described in the literature about crash report grouping and suspicious file ranking of crashing the system. Next, we design and implement a software tool to identify and rank buggy files using stack traces from crash reports. We use our tool and approach to identify and rank buggy files — that is, files that are most likely to contribute to a crash and thus need a fix. We evaluate our approach comparing two sets of classes and methods: the classes (methods) that developers changed to fix a bug and the suspected buggy classes (methods) that are present in the stack traces of the correlated crash reports. Our study provides new pieces of evidence of the potential use of crash report groups to correctly indicate buggy classes and methods present in stack traces. For instance, we successfully identify a buggy class with recall varying from 61.4% to 77.3% and precision ranging from 41.4% to 55.5%, considering the top 1, top 3, top 5, and top 10 suspicious buggy files identified and ranked by our approach. The main implication of our approach is that developers can locate and fix the root cause of a crash report considering a few classes or methods, instead of having to review thousands of assets. | pt_BR |
dc.description.resumo | As informações disponíveis nos relatórios de falhas estão sendo usadas para entender a causa raiz dos erros e melhorar a qualidade geral dos sistemas. No entanto, esses relatórios geralmente levam a uma enorme quantidade de informações, sendo necessário aplicar técnicas que visam consolidar os dados em grupos de acordo com um conjunto de critérios bem definidos. Nesta dissertação, contribuímos com uma personalização de regras que automaticamente localizam e agrupam relatórios de falhas correlacionados (de acordo com seus stack traces) no contexto de sistemas Web de larga escala. Para isso, selecionamos e adaptamos algumas abordagens descritas na literatura sobre o agrupamento de relatórios de falhas e a classificação de arquivos suspeitos por travar o sistema. Em seguida, projetamos e implementamos uma ferramenta de software para identificar e classificar arquivos com erro usando stack traces presentes nos relatórios de falhas. Usamos nossa ferramenta e nossa abordagem para identificar e classificar arquivos com erros, ou seja, arquivos com maior probabilidade de causarem uma falha e que, portanto, necessitam de uma correção. Avaliamos nossa abordagem comparando dois conjuntos de classes e métodos: as classes (métodos) que os desenvolvedores alteraram para corrigir um bug e as classes (métodos) suspeitas de conterem um bugs dentre as que estão presentes nos stack traces dos relatórios de falhas correlacionados. Nosso estudo fornece novas evidências acerca do potencial do uso de grupos de relatórios de falhas para indicar corretamente classes e métodos com erro, dentre as que estão presentes nos stack traces. Por exemplo, identificamos com êxito uma classe com erro, com recall variando de 61,4% a 77,3% e precisão variando de 41,4% a 55,5%, considerando o 1, 3, 5 e 10 arquivos suspeitos identificados e classificados por nossa abordagem. A principal implicação de nossa abordagem é que os desenvolvedores podem localizar e corrigir a causa raiz de um relatório de falha considerando algumas classes ou métodos, em vez de revisar milhares de ativos. | pt_BR |
dc.identifier.citation | MEDEIROS, Marcos Alexandre de Melo. Improving bug localization by mining crash reports: an empirical study. 2020. 85f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2020. | pt_BR |
dc.identifier.uri | https://repositorio.ufrn.br/jspui/handle/123456789/28895 | |
dc.language | pt_BR | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.initials | UFRN | pt_BR |
dc.publisher.program | PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject | Falha de software | pt_BR |
dc.subject | Correlação entre falhas | pt_BR |
dc.subject | Localização de falha | pt_BR |
dc.subject | Relatório de falha | pt_BR |
dc.subject | Pilha de execução | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO | pt_BR |
dc.title | Improving bug localization by mining crash reports: an empirical study | pt_BR |
dc.title.alternative | Melhorando a localização de bugs usando mineração de relatórios de falhas: um estudo empírico | pt_BR |
dc.type | masterThesis | pt_BR |
Arquivos
Pacote Original
1 - 1 de 1
Carregando...
- Nome:
- Improvingbuglocalization_Medeiros_2020.pdf
- Tamanho:
- 3.53 MB
- Formato:
- Adobe Portable Document Format
Carregando...