AndroProf : a profiling tool for the Android platform - Sartor, Anderson Luiz (2013)
Este trabalho tem como objetivo o desenvolvimento de uma ferramenta de profiling para a plataforma móvel Android. As ferramentas atuais de tracing e profiling não acompanharam o crescimento do mercado móvel, fazendo com que a tarefa de obter dados sobre a execução de aplicativos se torne muito mais difícil. As poucas ferramentas que estão à disposição têm grandes limitações com relação a quais informações elas conseguem obter e também quanto a quantidade de informação que pode ser coletada. Além das poucas opções de ferramentas, o desenvolvimento de aplicações para sistemas embarcados já é, naturalmente, mais complexo devido às limitações do sistema, como, por exemplo, desempenho reduzido e alimentação por bateria. Portanto, o desenvolvimento de uma ferramenta que obtenha informações como: dissipação de potência, tempo de execução e outras estatísticas é extremamente necessária no desenvolvimento de aplicações para sistemas embarcados. Este trabalho apresenta uma ferramenta multiplataforma que suporta a emulação de arquiteturas ARM e MIPS executando Android, além de suportar parcialmente a arquitetura x86. Ela obtém as informações citadas anteriormente por aplicação e ainda é capaz de obter dados de aplicações que executam tanto código nativo, quanto aplicações que executam na máquina virtual Dalvik. Para alcançar este objetivo, nós estendemos o QEMU do Android SDK e desenvolvemos ferramentas com interfaces gráficas para processar os dados coletados. Além disso, nós avaliamos o impacto da nossa implementação em relação ao tempo de execução de diversos benchmarks e nós fizemos um estudo de caso comparando diferentes arquiteturas, aplicações escritas puramente em Java e aplicações com partes em código nativo, bem como o impacto do JIT compiler na execução. Todos estas comparações através do uso da ferramenta desenvolvida.