AndroProf : a profiling tool for the Android platform
![Thumbnail](/bitstream/handle/10183/86164/000910207.pdf.jpg?sequence=3&isAllowed=y)
Visualizar/abrir
Data
2013Autor
Orientador
Co-orientador
Nível acadêmico
Graduação
Assunto
Abstract
This work aims to develop a profiling tool for the Android platform. Current tools for mobile development are very limited in which and how much information they can trace or profile. They are also scarce when compared to general-purpose development tools. This makes the development of embedded applications even a harder task to be accomplished, due to its hard constraints, such as limited performance and power budget. Therefore, a tool that provides information such as power dissipation, execu ...
This work aims to develop a profiling tool for the Android platform. Current tools for mobile development are very limited in which and how much information they can trace or profile. They are also scarce when compared to general-purpose development tools. This makes the development of embedded applications even a harder task to be accomplished, due to its hard constraints, such as limited performance and power budget. Therefore, a tool that provides information such as power dissipation, execution time and other statistics is mandatory when it comes to develop embedded applications. This work presents a multiplatform tool that fully supports ARM and MIPS architectures, and partially supports x86 architecture executing Android. It provides the aforementioned information per application and it is also able to trace all applications native code, including that generated by Dalvik Virtual Machine. To accomplish this, we extended Android SDK’s QEMU, and we developed graphical user interfaces to process the traced data. In addition, we evaluated the impact of this implementation in relation to the execution time of several benchmarks and we present a case study comparing different architectures, applications written purely in Java and applications that use native code and the impact of the JIT compiler in the execution. All these comparisons through the usage of the developed tool. ...
Resumo
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é ...
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. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Engenharia da Computação: Bacharelado.
Coleções
Este item está licenciado na Creative Commons License
![](/themes/Mirage2Novo//images/lume/cc.png)