E-APK: Energy Pattern Detection in Decompiled Android Applications

Nelson Gregório, João Paulo Fernandes, João Bispo, Sérgio Medeiros

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Energy efficiency is a non-functional requirement that developers must consider. This requirement is particularly relevant when building software for battery-operated devices like mobile ones: a long-lasting battery is an essential requirement for an enjoyable user experience. It has been shown that many mobile applications include inefficiencies that cause battery to be drained faster than necessary. Some of these inefficiencies result from software patterns that have been catalogued in the literature. The catalogues often provide more energy-efficient alternatives. While the related literature is vast, most approaches so far assume as a fundamental requirement that one has access to the source code of an application in order to be able to analyse it. This requirement makes independent energy analysis challenging, or even impossible, e.g. for a mobile user or, most significantly, an App Store trying to provide information on how efficient an application being submitted for publication is. Our work studies the viability of looking for known energy patterns in applications by decompiling them and analysing the resulting code. For this, we decompiled and analysed 236 open-source applications. We extended an existing tool to aid in this process, making it capable of seamlessly decompiling and analysing android applications. With the collected data, we performed a comparative analysis of the presence of energy patterns between the source code and the decompiled code. While further research is required to more assertively say if this type of static analysis is viable, our results point in a promising direction with 163 applications, approximately 69%, containing the same number of detected patterns in both source code and the release APK.

Original languageEnglish (US)
Title of host publicationCBSOFT 2022 - 13th Congresso Brasileiro de Software; Proceedings - 26th Brazilian Symposium on Programming Languages, SBLP2022
PublisherAssociation for Computing Machinery
Pages50-58
Number of pages9
ISBN (Electronic)9781450397445
DOIs
StatePublished - Oct 6 2022
Event26th Brazilian Symposium on Programming Languages, SBLP2022 - Virtual, Online, Brazil
Duration: Oct 3 2022Oct 7 2022

Publication series

NameACM International Conference Proceeding Series

Conference

Conference26th Brazilian Symposium on Programming Languages, SBLP2022
Country/TerritoryBrazil
CityVirtual, Online
Period10/3/2210/7/22

Keywords

  • android
  • code patterns
  • compilers
  • decompiler
  • energy efficiency
  • metaprogramming
  • mobile
  • static analysis

ASJC Scopus subject areas

  • Human-Computer Interaction
  • Computer Networks and Communications
  • Computer Vision and Pattern Recognition
  • Software

Fingerprint

Dive into the research topics of 'E-APK: Energy Pattern Detection in Decompiled Android Applications'. Together they form a unique fingerprint.

Cite this