CrashAwareDev: apoiando o desenvolvimento a partir da mineração e análise de crash reports
Autor(a) principal: | |
---|---|
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 |