Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android

Detalhes bibliográficos
Autor(a) principal: OLIVEIRA, Raquel Maria Santos de
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/001300000jcc0
Texto Completo: https://repositorio.ufpe.br/handle/123456789/51458
Resumo: Um problema comum em aplicações desenvolvidas para dispositivos móveis é o vaza- mento de recursos. Adquirir recursos sem corretamente liberá-los após o seu uso é uma das principais causas. No contexto de dispositivos móveis, estes problemas podem causar danos à experiência dos usuários por conta de problemas com desempenho, travamentos, ou compor- tamento incorreto. Este trabalho foca em identificar vazamentos de recursos em aplicações desenvolvidas para a plataforma Android. As ferramentas existentes têm como requisito exe- cutar a aplicação ou não estão disponíveis publicamente. Este trabalho propõe o FindLeak, uma ferramenta baseada em análise estática para identificar possíveis vazamentos em classes de recursos do tipo Camera, Cursor e MediaPlayer. O FindLeak identifica automaticamente classes que contém possíveis vazamentos de recurso em aplicações Android desenvolvidas em Java. A ferramenta foi avaliada utilizando projetos extraídos de bases de dados previamente definidas em outros trabalhos, como DroidLeaks e AppLeak, assim como minerando repositó- rios disponíveis no GitHub. Com isto, foi possível aplicar a ferramenta em 966 repositórios de projetos reais, detectando 494 arquivos de classes com vazamentos de recursos. Os resultados fornecem evidência inicial de que o FindLeak pode ser utilizado para auxiliar os desenvolvedores a detectar vazamentos de recursos de forma automática e simples.
id UFPE_defcf8c0f48aef957bc7514352c047b8
oai_identifier_str oai:repositorio.ufpe.br:123456789/51458
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling OLIVEIRA, Raquel Maria Santos dehttp://lattes.cnpq.br/8579418015351528http://lattes.cnpq.br/2117651910340729TEIXEIRA, Leopoldo Motta2023-07-11T19:06:39Z2023-07-11T19:06:39Z2023-02-28OLIVEIRA, Raquel Maria Santos de. Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.https://repositorio.ufpe.br/handle/123456789/51458ark:/64986/001300000jcc0Um problema comum em aplicações desenvolvidas para dispositivos móveis é o vaza- mento de recursos. Adquirir recursos sem corretamente liberá-los após o seu uso é uma das principais causas. No contexto de dispositivos móveis, estes problemas podem causar danos à experiência dos usuários por conta de problemas com desempenho, travamentos, ou compor- tamento incorreto. Este trabalho foca em identificar vazamentos de recursos em aplicações desenvolvidas para a plataforma Android. As ferramentas existentes têm como requisito exe- cutar a aplicação ou não estão disponíveis publicamente. Este trabalho propõe o FindLeak, uma ferramenta baseada em análise estática para identificar possíveis vazamentos em classes de recursos do tipo Camera, Cursor e MediaPlayer. O FindLeak identifica automaticamente classes que contém possíveis vazamentos de recurso em aplicações Android desenvolvidas em Java. A ferramenta foi avaliada utilizando projetos extraídos de bases de dados previamente definidas em outros trabalhos, como DroidLeaks e AppLeak, assim como minerando repositó- rios disponíveis no GitHub. Com isto, foi possível aplicar a ferramenta em 966 repositórios de projetos reais, detectando 494 arquivos de classes com vazamentos de recursos. Os resultados fornecem evidência inicial de que o FindLeak pode ser utilizado para auxiliar os desenvolvedores a detectar vazamentos de recursos de forma automática e simples.A common problem with applications developed for mobile devices is resource leaks. One of the main causes is acquiring resources without properly releasing them after use. In the context of mobile devices, these issues can affect the user experience through performance issues, crashes, or incorrect behavior. This work focuses on identifying resource leaks in ap- plications developed for the Android platform. Existing tools require the program to run or are not publicly available. This work proposes FindLeak, a tool based on static analysis to identify possible leaks in resource classes such as Camera, Cursor, and MediaPlayer. FindLeak automatically identifies classes that contain potential resource leaks in Android applications developed in Java. The tool was evaluated using projects extracted from databases previously defined in other work such as DroidLeaks and AppLeak, and by mining repositories available on GitHub. In this way, it was possible to apply the tool to 966 real project repositories and detecting 494 class files with resource leaks. The results are a first proof that FindLeak can help developers to automatically and easily detect resource leaks.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia de software e linguagens de programaçãoAndroidVazamento de recursosAnálise estática do códigoJavaUma ferramenta para detecção estática de vazamentos de recursos em aplicações Androidinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdfDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdfapplication/pdf1086873https://repositorio.ufpe.br/bitstream/123456789/51458/2/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdff41aed3f6253843bb3e740facc0aa304MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82362https://repositorio.ufpe.br/bitstream/123456789/51458/4/license.txt5e89a1613ddc8510c6576f4b23a78973MD54CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/51458/3/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD53TEXTDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdf.txtDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdf.txtExtracted texttext/plain91076https://repositorio.ufpe.br/bitstream/123456789/51458/5/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdf.txt24533d060c81a08424b2185ecf048917MD55THUMBNAILDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdf.jpgDISSERTAÇÃO Raquel Maria Santos de Oliveira.pdf.jpgGenerated Thumbnailimage/jpeg1215https://repositorio.ufpe.br/bitstream/123456789/51458/6/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdf.jpgbe9c3fc450eb54cfcc0673a14198a8c1MD56123456789/514582023-07-12 02:33:32.782oai:repositorio.ufpe.br:123456789/51458VGVybW8gZGUgRGVww7NzaXRvIExlZ2FsIGUgQXV0b3JpemHDp8OjbyBwYXJhIFB1YmxpY2l6YcOnw6NvIGRlIERvY3VtZW50b3Mgbm8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRQoKCkRlY2xhcm8gZXN0YXIgY2llbnRlIGRlIHF1ZSBlc3RlIFRlcm1vIGRlIERlcMOzc2l0byBMZWdhbCBlIEF1dG9yaXphw6fDo28gdGVtIG8gb2JqZXRpdm8gZGUgZGl2dWxnYcOnw6NvIGRvcyBkb2N1bWVudG9zIGRlcG9zaXRhZG9zIG5vIFJlcG9zaXTDs3JpbyBEaWdpdGFsIGRhIFVGUEUgZSBkZWNsYXJvIHF1ZToKCkkgLSBvcyBkYWRvcyBwcmVlbmNoaWRvcyBubyBmb3JtdWzDoXJpbyBkZSBkZXDDs3NpdG8gc8OjbyB2ZXJkYWRlaXJvcyBlIGF1dMOqbnRpY29zOwoKSUkgLSAgbyBjb250ZcO6ZG8gZGlzcG9uaWJpbGl6YWRvIMOpIGRlIHJlc3BvbnNhYmlsaWRhZGUgZGUgc3VhIGF1dG9yaWE7CgpJSUkgLSBvIGNvbnRlw7pkbyDDqSBvcmlnaW5hbCwgZSBzZSBvIHRyYWJhbGhvIGUvb3UgcGFsYXZyYXMgZGUgb3V0cmFzIHBlc3NvYXMgZm9yYW0gdXRpbGl6YWRvcywgZXN0YXMgZm9yYW0gZGV2aWRhbWVudGUgcmVjb25oZWNpZGFzOwoKSVYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIG9icmEgY29sZXRpdmEgKG1haXMgZGUgdW0gYXV0b3IpOiB0b2RvcyBvcyBhdXRvcmVzIGVzdMOjbyBjaWVudGVzIGRvIGRlcMOzc2l0byBlIGRlIGFjb3JkbyBjb20gZXN0ZSB0ZXJtbzsKClYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIFRyYWJhbGhvIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28sIERpc3NlcnRhw6fDo28gb3UgVGVzZTogbyBhcnF1aXZvIGRlcG9zaXRhZG8gY29ycmVzcG9uZGUgw6AgdmVyc8OjbyBmaW5hbCBkbyB0cmFiYWxobzsKClZJIC0gcXVhbmRvIHRyYXRhci1zZSBkZSBUcmFiYWxobyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvLCBEaXNzZXJ0YcOnw6NvIG91IFRlc2U6IGVzdG91IGNpZW50ZSBkZSBxdWUgYSBhbHRlcmHDp8OjbyBkYSBtb2RhbGlkYWRlIGRlIGFjZXNzbyBhbyBkb2N1bWVudG8gYXDDs3MgbyBkZXDDs3NpdG8gZSBhbnRlcyBkZSBmaW5kYXIgbyBwZXLDrW9kbyBkZSBlbWJhcmdvLCBxdWFuZG8gZm9yIGVzY29saGlkbyBhY2Vzc28gcmVzdHJpdG8sIHNlcsOhIHBlcm1pdGlkYSBtZWRpYW50ZSBzb2xpY2l0YcOnw6NvIGRvIChhKSBhdXRvciAoYSkgYW8gU2lzdGVtYSBJbnRlZ3JhZG8gZGUgQmlibGlvdGVjYXMgZGEgVUZQRSAoU0lCL1VGUEUpLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gQWJlcnRvOgoKTmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRlIGF1dG9yIHF1ZSByZWNhZW0gc29icmUgZXN0ZSBkb2N1bWVudG8sIGZ1bmRhbWVudGFkbyBuYSBMZWkgZGUgRGlyZWl0byBBdXRvcmFsIG5vIDkuNjEwLCBkZSAxOSBkZSBmZXZlcmVpcm8gZGUgMTk5OCwgYXJ0LiAyOSwgaW5jaXNvIElJSSwgYXV0b3Jpem8gYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIGEgZGlzcG9uaWJpbGl6YXIgZ3JhdHVpdGFtZW50ZSwgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkIChhcXVpc2nDp8OjbykgYXRyYXbDqXMgZG8gc2l0ZSBkbyBSZXBvc2l0w7NyaW8gRGlnaXRhbCBkYSBVRlBFIG5vIGVuZGVyZcOnbyBodHRwOi8vd3d3LnJlcG9zaXRvcmlvLnVmcGUuYnIsIGEgcGFydGlyIGRhIGRhdGEgZGUgZGVww7NzaXRvLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gUmVzdHJpdG86CgpOYSBxdWFsaWRhZGUgZGUgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGUgYXV0b3IgcXVlIHJlY2FlbSBzb2JyZSBlc3RlIGRvY3VtZW50bywgZnVuZGFtZW50YWRvIG5hIExlaSBkZSBEaXJlaXRvIEF1dG9yYWwgbm8gOS42MTAgZGUgMTkgZGUgZmV2ZXJlaXJvIGRlIDE5OTgsIGFydC4gMjksIGluY2lzbyBJSUksIGF1dG9yaXpvIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgUGVybmFtYnVjbyBhIGRpc3BvbmliaWxpemFyIGdyYXR1aXRhbWVudGUsIHNlbSByZXNzYXJjaW1lbnRvIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgcGFyYSBmaW5zIGRlIGxlaXR1cmEsIGltcHJlc3PDo28gZS9vdSBkb3dubG9hZCAoYXF1aXNpw6fDo28pIGF0cmF2w6lzIGRvIHNpdGUgZG8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRSBubyBlbmRlcmXDp28gaHR0cDovL3d3dy5yZXBvc2l0b3Jpby51ZnBlLmJyLCBxdWFuZG8gZmluZGFyIG8gcGVyw61vZG8gZGUgZW1iYXJnbyBjb25kaXplbnRlIGFvIHRpcG8gZGUgZG9jdW1lbnRvLCBjb25mb3JtZSBpbmRpY2FkbyBubyBjYW1wbyBEYXRhIGRlIEVtYmFyZ28uCg==Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212023-07-12T05:33:32Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
title Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
spellingShingle Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
OLIVEIRA, Raquel Maria Santos de
Engenharia de software e linguagens de programação
Android
Vazamento de recursos
Análise estática do código
Java
title_short Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
title_full Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
title_fullStr Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
title_full_unstemmed Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
title_sort Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
author OLIVEIRA, Raquel Maria Santos de
author_facet OLIVEIRA, Raquel Maria Santos de
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/8579418015351528
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/2117651910340729
dc.contributor.author.fl_str_mv OLIVEIRA, Raquel Maria Santos de
dc.contributor.advisor1.fl_str_mv TEIXEIRA, Leopoldo Motta
contributor_str_mv TEIXEIRA, Leopoldo Motta
dc.subject.por.fl_str_mv Engenharia de software e linguagens de programação
Android
Vazamento de recursos
Análise estática do código
Java
topic Engenharia de software e linguagens de programação
Android
Vazamento de recursos
Análise estática do código
Java
description Um problema comum em aplicações desenvolvidas para dispositivos móveis é o vaza- mento de recursos. Adquirir recursos sem corretamente liberá-los após o seu uso é uma das principais causas. No contexto de dispositivos móveis, estes problemas podem causar danos à experiência dos usuários por conta de problemas com desempenho, travamentos, ou compor- tamento incorreto. Este trabalho foca em identificar vazamentos de recursos em aplicações desenvolvidas para a plataforma Android. As ferramentas existentes têm como requisito exe- cutar a aplicação ou não estão disponíveis publicamente. Este trabalho propõe o FindLeak, uma ferramenta baseada em análise estática para identificar possíveis vazamentos em classes de recursos do tipo Camera, Cursor e MediaPlayer. O FindLeak identifica automaticamente classes que contém possíveis vazamentos de recurso em aplicações Android desenvolvidas em Java. A ferramenta foi avaliada utilizando projetos extraídos de bases de dados previamente definidas em outros trabalhos, como DroidLeaks e AppLeak, assim como minerando repositó- rios disponíveis no GitHub. Com isto, foi possível aplicar a ferramenta em 966 repositórios de projetos reais, detectando 494 arquivos de classes com vazamentos de recursos. Os resultados fornecem evidência inicial de que o FindLeak pode ser utilizado para auxiliar os desenvolvedores a detectar vazamentos de recursos de forma automática e simples.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-07-11T19:06:39Z
dc.date.available.fl_str_mv 2023-07-11T19:06:39Z
dc.date.issued.fl_str_mv 2023-02-28
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 OLIVEIRA, Raquel Maria Santos de. Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/51458
dc.identifier.dark.fl_str_mv ark:/64986/001300000jcc0
identifier_str_mv OLIVEIRA, Raquel Maria Santos de. Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
ark:/64986/001300000jcc0
url https://repositorio.ufpe.br/handle/123456789/51458
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/51458/2/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdf
https://repositorio.ufpe.br/bitstream/123456789/51458/4/license.txt
https://repositorio.ufpe.br/bitstream/123456789/51458/3/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/51458/5/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/51458/6/DISSERTA%c3%87%c3%83O%20Raquel%20Maria%20Santos%20de%20Oliveira.pdf.jpg
bitstream.checksum.fl_str_mv f41aed3f6253843bb3e740facc0aa304
5e89a1613ddc8510c6576f4b23a78973
e39d27027a6cc9cb039ad269a5db8e34
24533d060c81a08424b2185ecf048917
be9c3fc450eb54cfcc0673a14198a8c1
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1815172836478681088