Uma Ferramenta para Detecção Estática de Vazamentos de Recursos em
Aplicações Android
Android. Vazamento de Recursos. Análise estática do código.
Aplicativos. Java.
Um problema comum em aplicações desenvolvidas para dispositivos móveis é o
vazamento 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 comportamento incorreto. Este
trabalho foca em identificar vazamentos de recursos em aplicações
desenvolvidas para a plataforma Android. Ferramentas existentes exigem a
execução do programa 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.