Uma ferramenta para detecção estática de vazamentos de recursos em aplicações Android
Autor(a) principal: | |
---|---|
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 |