Analisando o tratamento de exceções em aplicações android
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
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/22069 |
Resumo: | Com a ascensão da tecnologia móvel nos últimos anos, dispositivos como smartphones e tablets têm se tornado parte integral da vida das pessoas. Como telefones tradicionais, os smartphones podem ser utilizados para realizar chamadas e mandar mensagens de texto, mas é a possibilidade de fornecer variados tipos de aplicações que os tornam tão atrativos para seus usuários. Neste contexto, aplicações Android tem se tornado cada vez mais populares; e no mesmo ritmo em que cresce o número de aplicações disponíveis, também cresce o número de usuários afetados pelos crashes de tais aplicações. Para poder lidar com tais condições excepcionais, o código para lançamento e captura de exceções não é uma parte opcional mas uma parte fundamental de tais aplicações. Porém, o que se tem observado é que o código projetado para tratar estas condições excepcionais pode muitas vezes ser a causa de crashes (e.g., exceções não capturadas). Até o momento nenhum estudo investigou as principais características do código de tratamento de exceções (TE) de aplicações Android. Este trabalho apresenta um conjunto de estudos complementares para melhor entender as características do código de TE de aplicações Android assim como identificar a visão dos desenvolvedores a respeito destas características. Neste trabalho foram realizados três estudos: (i) um estudo exploratório onde foram inspecionados o código de TE de 15 aplicações Android populares (o que no total correspondeu a 3490 blocos try-catch-finally); e (ii) dois estudos qualitativos baseados em técnicas de Teoria Fundamentada em Dados - nestes foram aplicados surveys a 28 desenvolvedores Android e 47 especialistas Android para levantar a opinião dos mesmos sobre boas e más praticas no desenvolvimento do tratamento de exceções no ambiente Android. Durante estes estudos observamos um grande número de exceções sendo silenciadas no código de apps. Também observamos que poucas aplicações enviavam informações as informações sobre as exceções uncaught para servidores de crash report. |
id |
UFRN_caabcdab25dbcffd81bebaa93263fe4e |
---|---|
oai_identifier_str |
oai:https://repositorio.ufrn.br:123456789/22069 |
network_acronym_str |
UFRN |
network_name_str |
Repositório Institucional da UFRN |
repository_id_str |
|
spelling |
Queiroz, Francisco Diogo Oliveira dehttp://lattes.cnpq.br/4142453806695605http://lattes.cnpq.br/9854634275938452Figueira Filho, Fernando Marqueshttp://lattes.cnpq.br/6874649375434646Cacho, Nelio Alessandro Azevedohttp://lattes.cnpq.br/4635320220484649Almeida, Rodrigo Bonifácio dehttp://lattes.cnpq.br/0368311142108150Coelho, Roberta de Souza2017-02-23T00:25:27Z2017-02-23T00:25:27Z2016-08-17QUEIROZ, Francisco Diogo Oliveira de. Analisando o tratamento de exceções em aplicações android. 2016. 72f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016.https://repositorio.ufrn.br/jspui/handle/123456789/22069Com a ascensão da tecnologia móvel nos últimos anos, dispositivos como smartphones e tablets têm se tornado parte integral da vida das pessoas. Como telefones tradicionais, os smartphones podem ser utilizados para realizar chamadas e mandar mensagens de texto, mas é a possibilidade de fornecer variados tipos de aplicações que os tornam tão atrativos para seus usuários. Neste contexto, aplicações Android tem se tornado cada vez mais populares; e no mesmo ritmo em que cresce o número de aplicações disponíveis, também cresce o número de usuários afetados pelos crashes de tais aplicações. Para poder lidar com tais condições excepcionais, o código para lançamento e captura de exceções não é uma parte opcional mas uma parte fundamental de tais aplicações. Porém, o que se tem observado é que o código projetado para tratar estas condições excepcionais pode muitas vezes ser a causa de crashes (e.g., exceções não capturadas). Até o momento nenhum estudo investigou as principais características do código de tratamento de exceções (TE) de aplicações Android. Este trabalho apresenta um conjunto de estudos complementares para melhor entender as características do código de TE de aplicações Android assim como identificar a visão dos desenvolvedores a respeito destas características. Neste trabalho foram realizados três estudos: (i) um estudo exploratório onde foram inspecionados o código de TE de 15 aplicações Android populares (o que no total correspondeu a 3490 blocos try-catch-finally); e (ii) dois estudos qualitativos baseados em técnicas de Teoria Fundamentada em Dados - nestes foram aplicados surveys a 28 desenvolvedores Android e 47 especialistas Android para levantar a opinião dos mesmos sobre boas e más praticas no desenvolvimento do tratamento de exceções no ambiente Android. Durante estes estudos observamos um grande número de exceções sendo silenciadas no código de apps. Também observamos que poucas aplicações enviavam informações as informações sobre as exceções uncaught para servidores de crash report.Along the recent years, we have witnessed an astonishing increase in the number mobile applications being developed and some of them becoming largely used. Such applications extend phones capabilities far beyond of the basic calls. In the same rate the number of a users increase, also increases the number of users affected by application faults and crashes. In this contexto, Android apps are becoming more and more popular. The number of such apps is astonishingly increasing in a daily rate, as well as the number of users affected by their crashes. Android apps as other Java apps may crash due to faults on the exception handling (EH) code (e.g. uncaught exceptions). Techniques for exception detection and handling are not an optional add-on but a fundamental part of such apps. Yet, no study has investigated the main characteristics of the EH code of mobile apps nor the developers perspective about the good and bad practices of EH in such context. In this work we conducted three complementary studies: (i) one that inspected the EH code of 15 popular Android apps (which overall comprises of 3490 try-catch-finally blocks); and two qualitative studies based an Grounded Theory techniques, on which two surveys were applied to 28 Adndroid developers and 47 Android experts respectively, to get their opinion about the good and bad practices of EH development in Android environment. Some outcomes of the studies show a high occurrence of exception swallowing and only few apps sending exception information to a remote server – both considered by Android experts as bad practices that negatively impact the app robustness.porCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOTratamento de exceçõesDesenvolvimento androidSurveyEstudo exploratórioAnalisando o tratamento de exceções em aplicações androidAnalyzing exception handling in android applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdfFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdfapplication/pdf2377209https://repositorio.ufrn.br/bitstream/123456789/22069/1/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdfbfb0610f9386f2c712b9d1db62505309MD51TEXTFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.txtFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.txtExtracted texttext/plain326725https://repositorio.ufrn.br/bitstream/123456789/22069/4/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.txt59b679c787c02a7ddf047ffffffef7ddMD54THUMBNAILFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.jpgFranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.jpgIM Thumbnailimage/jpeg3158https://repositorio.ufrn.br/bitstream/123456789/22069/5/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.jpgc764386e7f1f515c790bbc478e779594MD55123456789/220692017-11-03 21:50:09.341oai:https://repositorio.ufrn.br:123456789/22069Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-04T00:50:09Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
dc.title.pt_BR.fl_str_mv |
Analisando o tratamento de exceções em aplicações android |
dc.title.alternative.pt_BR.fl_str_mv |
Analyzing exception handling in android applications |
title |
Analisando o tratamento de exceções em aplicações android |
spellingShingle |
Analisando o tratamento de exceções em aplicações android Queiroz, Francisco Diogo Oliveira de CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Tratamento de exceções Desenvolvimento android Survey Estudo exploratório |
title_short |
Analisando o tratamento de exceções em aplicações android |
title_full |
Analisando o tratamento de exceções em aplicações android |
title_fullStr |
Analisando o tratamento de exceções em aplicações android |
title_full_unstemmed |
Analisando o tratamento de exceções em aplicações android |
title_sort |
Analisando o tratamento de exceções em aplicações android |
author |
Queiroz, Francisco Diogo Oliveira de |
author_facet |
Queiroz, Francisco Diogo Oliveira de |
author_role |
author |
dc.contributor.authorID.pt_BR.fl_str_mv |
|
dc.contributor.authorLattes.none.fl_str_mv |
http://lattes.cnpq.br/4142453806695605 |
dc.contributor.advisorID.pt_BR.fl_str_mv |
|
dc.contributor.advisorLattes.none.fl_str_mv |
http://lattes.cnpq.br/9854634275938452 |
dc.contributor.referees1.none.fl_str_mv |
Figueira Filho, Fernando Marques |
dc.contributor.referees1ID.pt_BR.fl_str_mv |
|
dc.contributor.referees1Lattes.none.fl_str_mv |
http://lattes.cnpq.br/6874649375434646 |
dc.contributor.referees2.none.fl_str_mv |
Cacho, Nelio Alessandro Azevedo |
dc.contributor.referees2ID.pt_BR.fl_str_mv |
|
dc.contributor.referees2Lattes.none.fl_str_mv |
http://lattes.cnpq.br/4635320220484649 |
dc.contributor.referees3.none.fl_str_mv |
Almeida, Rodrigo Bonifácio de |
dc.contributor.referees3ID.pt_BR.fl_str_mv |
|
dc.contributor.referees3Lattes.none.fl_str_mv |
http://lattes.cnpq.br/0368311142108150 |
dc.contributor.author.fl_str_mv |
Queiroz, Francisco Diogo Oliveira de |
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 Tratamento de exceções Desenvolvimento android Survey Estudo exploratório |
dc.subject.por.fl_str_mv |
Tratamento de exceções Desenvolvimento android Survey Estudo exploratório |
description |
Com a ascensão da tecnologia móvel nos últimos anos, dispositivos como smartphones e tablets têm se tornado parte integral da vida das pessoas. Como telefones tradicionais, os smartphones podem ser utilizados para realizar chamadas e mandar mensagens de texto, mas é a possibilidade de fornecer variados tipos de aplicações que os tornam tão atrativos para seus usuários. Neste contexto, aplicações Android tem se tornado cada vez mais populares; e no mesmo ritmo em que cresce o número de aplicações disponíveis, também cresce o número de usuários afetados pelos crashes de tais aplicações. Para poder lidar com tais condições excepcionais, o código para lançamento e captura de exceções não é uma parte opcional mas uma parte fundamental de tais aplicações. Porém, o que se tem observado é que o código projetado para tratar estas condições excepcionais pode muitas vezes ser a causa de crashes (e.g., exceções não capturadas). Até o momento nenhum estudo investigou as principais características do código de tratamento de exceções (TE) de aplicações Android. Este trabalho apresenta um conjunto de estudos complementares para melhor entender as características do código de TE de aplicações Android assim como identificar a visão dos desenvolvedores a respeito destas características. Neste trabalho foram realizados três estudos: (i) um estudo exploratório onde foram inspecionados o código de TE de 15 aplicações Android populares (o que no total correspondeu a 3490 blocos try-catch-finally); e (ii) dois estudos qualitativos baseados em técnicas de Teoria Fundamentada em Dados - nestes foram aplicados surveys a 28 desenvolvedores Android e 47 especialistas Android para levantar a opinião dos mesmos sobre boas e más praticas no desenvolvimento do tratamento de exceções no ambiente Android. Durante estes estudos observamos um grande número de exceções sendo silenciadas no código de apps. Também observamos que poucas aplicações enviavam informações as informações sobre as exceções uncaught para servidores de crash report. |
publishDate |
2016 |
dc.date.issued.fl_str_mv |
2016-08-17 |
dc.date.accessioned.fl_str_mv |
2017-02-23T00:25:27Z |
dc.date.available.fl_str_mv |
2017-02-23T00:25:27Z |
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 |
QUEIROZ, Francisco Diogo Oliveira de. Analisando o tratamento de exceções em aplicações android. 2016. 72f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufrn.br/jspui/handle/123456789/22069 |
identifier_str_mv |
QUEIROZ, Francisco Diogo Oliveira de. Analisando o tratamento de exceções em aplicações android. 2016. 72f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016. |
url |
https://repositorio.ufrn.br/jspui/handle/123456789/22069 |
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/22069/1/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf https://repositorio.ufrn.br/bitstream/123456789/22069/4/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.txt https://repositorio.ufrn.br/bitstream/123456789/22069/5/FranciscoDiogoOliveiraDeQueiroz_DISSERT.pdf.jpg |
bitstream.checksum.fl_str_mv |
bfb0610f9386f2c712b9d1db62505309 59b679c787c02a7ddf047ffffffef7dd c764386e7f1f515c790bbc478e779594 |
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_ |
1802117562598686720 |