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

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...

ver descrição completa

Detalhes bibliográficos
Autor: OLIVEIRA, Raquel Maria Santos de
Formato: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2023
País:Brasil
Recursos:Universidade Federal de Pernambuco (UFPE)
Repositorio:Repositório Institucional da UFPE
Idioma:portugués
OAI Identifier:oai:repositorio.ufpe.br:123456789/51458
Acesso em linha:https://repositorio.ufpe.br/handle/123456789/51458
Access Level:acceso abierto
Palavra-chave:Engenharia de software e linguagens de programação
Android
Vazamento de recursos
Análise estática do código
Java
Descrição
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.