Please use this identifier to cite or link to this item: https://repositorio.ufrn.br/jspui/handle/123456789/26826
Title: CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
Other Titles: CrashAwareDev: supporting development based on crash report mining and analysis
Authors: Beserra, Leandro Dias
Keywords: Crash report;Tratamento de exceções;Eclipse;Java;Padrão de erro;Falha;Ferramenta
Issue Date: 31-Jan-2019
Citation: BESERRA, Leandro Dias. CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports. 2019. 81f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2019.
Portuguese Abstract: Os mecanismos de tratamento de exceções são uma característica comum de linguagens de programação convencionais. Exceções não capturadas (do inglês, uncaught exceptions) são a principal causa de crashes em sistemas de software. Um crash é um comportamento anormal de um sistema que leva à interrupção de sua execução. Esta é uma das razões que têm motivado a utilização de ferramentas de crash reports, que podem armazenar informações de falhas que ocorreram no sistema para facilitar a localização, priorização e depuração de falhas. Contudo, podemos pensar em uma outra utilidade para tais ferramentas. Estas informações poderiam ser utilizadas para apoiar o desenvolvedor durante a codificação do sistema. Neste trabalho foi realizado um estudo em um relatório de falhas de um sistema Web real, onde foram documentadas causas de crashes em um determinado período e identificados alguns padrões de erros. Além disso, foram observadas informações do relatório que poderiam apoiar programadores em suas atividades do dia a dia. A partir desta análise, foi implementada uma ferramenta, chamada CrashAwareDev, integrada ao ambiente de desenvolvimento Eclipse, com objetivo de aproximar o ambiente de desenvolvimento ao crash report. Um estudo de caso foi realizado e mostrou que a ferramenta pode apoiar o desenvolvimento de software através (i) da exibição de alertas de bug patterns diretamente no código-fonte, (ii) do rastreamento de classes envolvidas em falhas recentes e (iii) da agilidade em localizar crashes dentro do próprio ambiente de desenvolvimento.
Abstract: Exception handling mechanisms are a common feature of mainstream programming languages. Uncaught exceptions are the main cause of crashes in software systems. A crash is an abnormal behavior of a system that leads to the interruption of its execution. This is one of the reasons that have led to the use of crash reporting tools, which can store fault information that has occurred in the system for easier location, prioritization, and debugging. However, we can think of another utility for such tools. This information could be used to support the developer during system coding. In this work a study was performed on a crash report of a real Web system, where the causes of crashes in a given period were documented and some error patterns were identified. In addition, reporting information was observed that could support programmers in their day-to-day activities. A tool integrated with the Eclipse development environment, named CrashAwareDev, was implemented in order to bring the development environment closer to the crash report. A case study was conducted and showed that the tool can support software development by (i) displaying bug pattern alerts directly in the source code, (ii) tracing the classes involved in recent faults, and (iii) speeding up the crashes’s location within the development environment itself.
URI: https://repositorio.ufrn.br/jspui/handle/123456789/26826
Appears in Collections:PPGSC - Mestrado em Sistemas e Computação

Files in This Item:
File Description SizeFormat 
CrashAwareDev_Beserra_2019.pdf1,82 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.