AndroProf : a profiling tool for the Android platform

Detalhes bibliográficos
Autor(a) principal: Sartor, Anderson Luiz
Data de Publicação: 2013
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/86164
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é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.
id UFRGS-2_a3906ff23bca3f2ba3c611c0c1cdbfad
oai_identifier_str oai:www.lume.ufrgs.br:10183/86164
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Sartor, Anderson LuizBeck Filho, Antonio Carlos SchneiderCorrêa, Ulisses Brisolara2014-01-18T01:53:58Z2013http://hdl.handle.net/10183/86164000910207Este 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.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.application/pdfengAndroidComputação móvelAndroid applicationsAndroid emulatorQEMUprofiling toolJNIAndroProf : a profiling tool for the Android platforminfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2013Ciência da Computação: Ênfase em Engenharia da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000910207.pdf000910207.pdfTexto completo (inglês)application/pdf2117452http://www.lume.ufrgs.br/bitstream/10183/86164/1/000910207.pdf00413ad12830ab7b1ee90c13bd22d5b0MD51TEXT000910207.pdf.txt000910207.pdf.txtExtracted Texttext/plain107567http://www.lume.ufrgs.br/bitstream/10183/86164/2/000910207.pdf.txt723eddc44bf275d3311b683e3b0ec170MD52THUMBNAIL000910207.pdf.jpg000910207.pdf.jpgGenerated Thumbnailimage/jpeg1083http://www.lume.ufrgs.br/bitstream/10183/86164/3/000910207.pdf.jpg08fcb86f0cb1f89a892d20713936ff21MD5310183/861642021-05-07 05:11:19.048493oai:www.lume.ufrgs.br:10183/86164Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-07T08:11:19Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv AndroProf : a profiling tool for the Android platform
title AndroProf : a profiling tool for the Android platform
spellingShingle AndroProf : a profiling tool for the Android platform
Sartor, Anderson Luiz
Android
Computação móvel
Android applications
Android emulator
QEMU
profiling tool
JNI
title_short AndroProf : a profiling tool for the Android platform
title_full AndroProf : a profiling tool for the Android platform
title_fullStr AndroProf : a profiling tool for the Android platform
title_full_unstemmed AndroProf : a profiling tool for the Android platform
title_sort AndroProf : a profiling tool for the Android platform
author Sartor, Anderson Luiz
author_facet Sartor, Anderson Luiz
author_role author
dc.contributor.author.fl_str_mv Sartor, Anderson Luiz
dc.contributor.advisor1.fl_str_mv Beck Filho, Antonio Carlos Schneider
dc.contributor.advisor-co1.fl_str_mv Corrêa, Ulisses Brisolara
contributor_str_mv Beck Filho, Antonio Carlos Schneider
Corrêa, Ulisses Brisolara
dc.subject.por.fl_str_mv Android
Computação móvel
topic Android
Computação móvel
Android applications
Android emulator
QEMU
profiling tool
JNI
dc.subject.eng.fl_str_mv Android applications
Android emulator
QEMU
profiling tool
JNI
description 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.
publishDate 2013
dc.date.issued.fl_str_mv 2013
dc.date.accessioned.fl_str_mv 2014-01-18T01:53:58Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/86164
dc.identifier.nrb.pt_BR.fl_str_mv 000910207
url http://hdl.handle.net/10183/86164
identifier_str_mv 000910207
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/86164/1/000910207.pdf
http://www.lume.ufrgs.br/bitstream/10183/86164/2/000910207.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/86164/3/000910207.pdf.jpg
bitstream.checksum.fl_str_mv 00413ad12830ab7b1ee90c13bd22d5b0
723eddc44bf275d3311b683e3b0ec170
08fcb86f0cb1f89a892d20713936ff21
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224458084548608