CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports

Detalhes bibliográficos
Autor(a) principal: Beserra, Leandro Dias
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/jspui/handle/123456789/26826
Resumo: 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.
id UFRN_153b167bdf5ad13a828e3fe2c7adc8e3
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/26826
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Beserra, Leandro DiasAranha, Eduardo Henrique da SilvaAlmeida, Rodrigo Bonifácio deKulesza, UiraCoelho, Roberta de Souza2019-04-04T21:08:04Z2019-04-04T21:08:04Z2019-01-31BESERRA, 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.https://repositorio.ufrn.br/jspui/handle/123456789/26826Os 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.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.CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOCrash reportTratamento de exceçõesEclipseJavaPadrão de erroFalhaFerramentaCrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reportsCrashAwareDev: supporting development based on crash report mining and analysisinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNTEXTCrashAwareDev_Beserra_2019.pdf.txtCrashAwareDev_Beserra_2019.pdf.txtExtracted texttext/plain142503https://repositorio.ufrn.br/bitstream/123456789/26826/2/CrashAwareDev_Beserra_2019.pdf.txtde1038440350c37b15ef08c068209676MD52THUMBNAILCrashAwareDev_Beserra_2019.pdf.jpgCrashAwareDev_Beserra_2019.pdf.jpgGenerated Thumbnailimage/jpeg1252https://repositorio.ufrn.br/bitstream/123456789/26826/3/CrashAwareDev_Beserra_2019.pdf.jpg00d5ca54ced4007100e490564b3904e6MD53ORIGINALCrashAwareDev_Beserra_2019.pdfapplication/pdf1861293https://repositorio.ufrn.br/bitstream/123456789/26826/1/CrashAwareDev_Beserra_2019.pdf25db60da5c9467caa9f974e129e6fc52MD51123456789/268262019-05-26 03:17:51.476oai:https://repositorio.ufrn.br:123456789/26826Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2019-05-26T06:17:51Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
dc.title.alternative.pt_BR.fl_str_mv CrashAwareDev: supporting development based on crash report mining and analysis
title CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
spellingShingle CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
Beserra, Leandro Dias
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Crash report
Tratamento de exceções
Eclipse
Java
Padrão de erro
Falha
Ferramenta
title_short CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
title_full CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
title_fullStr CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
title_full_unstemmed CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
title_sort CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
author Beserra, Leandro Dias
author_facet Beserra, Leandro Dias
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.referees1.none.fl_str_mv Aranha, Eduardo Henrique da Silva
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees2.none.fl_str_mv Almeida, Rodrigo Bonifácio de
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees3.none.fl_str_mv Kulesza, Uira
dc.contributor.referees3ID.pt_BR.fl_str_mv
dc.contributor.author.fl_str_mv Beserra, Leandro Dias
dc.contributor.advisor1.fl_str_mv Coelho, Roberta de Souza
contributor_str_mv Coelho, Roberta de Souza
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Crash report
Tratamento de exceções
Eclipse
Java
Padrão de erro
Falha
Ferramenta
dc.subject.por.fl_str_mv Crash report
Tratamento de exceções
Eclipse
Java
Padrão de erro
Falha
Ferramenta
description 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.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-04-04T21:08:04Z
dc.date.available.fl_str_mv 2019-04-04T21:08:04Z
dc.date.issued.fl_str_mv 2019-01-31
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.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/26826
identifier_str_mv 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.
url https://repositorio.ufrn.br/jspui/handle/123456789/26826
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.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/26826/2/CrashAwareDev_Beserra_2019.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/26826/3/CrashAwareDev_Beserra_2019.pdf.jpg
https://repositorio.ufrn.br/bitstream/123456789/26826/1/CrashAwareDev_Beserra_2019.pdf
bitstream.checksum.fl_str_mv de1038440350c37b15ef08c068209676
00d5ca54ced4007100e490564b3904e6
25db60da5c9467caa9f974e129e6fc52
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1802117826868150272