A framework for the automatic execution of measurement-based experiments on Android devices

Status:: 🟩
Links:: Measure energy consumption of desktop software applications

Metadata

Authors:: Malavolta, Ivano; Grua, Eoin Martino; Lam, Cheng-Yu; de Vries, Randy; Tan, Franky; Zielinski, Eric; Peters, Michael; Kaandorp, Luuk
Title:: A framework for the automatic execution of measurement-based experiments on Android devices
Date:: 2021
Publisher:: Association for Computing Machinery
URL:: https://dl.acm.org/doi/10.1145/3417113.3422184
DOI:: 10.1145/3417113.3422184

Notes & Annotations

Color-coded highlighting system used for annotations

πŸ“‘ Annotations (imported on 2024-10-12#16:30:08)

malavolta.etal.2021.frameworkautomaticexecution (image) (pg. 2)

Figure 1: Overview of AR

malavolta.etal.2021.frameworkautomaticexecution (image) (pg. 2)

Listing 1: Simple usage scenario with three actions

malavolta.etal.2021.frameworkautomaticexecution (pg. 2)

AR is implemented as a set of Python 3 modules and as such it can run on any base station able to run Python code, such as a desktop computer, a laptop, or a Raspberry Pi; given its low cost, the latter is especially useful when needing to run multiple experiments in parallel.

malavolta.etal.2021.frameworkautomaticexecution (pg. 3)

AR is independent from the communication channel between the base station and the Android device (e.g., USB, Wi-Fi), provided that it is supported by ADB. ADB is the official Android tool to run commands on a connected Android device. In experiments targeting energy consumption, it is advised to use the Wi-Fi channel in order to avoid the influence that USB charging may have on the energyrelated behaviour of the device.

malavolta.etal.2021.frameworkautomaticexecution (pg. 5)

AR as a learning platform. AR is used at different levels within the Computer Science program of the Vrije Universiteit Amsterdam. Firstly, AR is used for scaling up the projects within the Green Lab course, where teams of students design and conduct empirical studies on the energy efficiency of software; students use AR as a black-box tool for measuring real mobile apps without spending time on activities outside the learning objectives of the course (e.g., writing and fixing bugs of boilerplate code).

malavolta.etal.2021.frameworkautomaticexecution (pg. 5)

The added value of AR is to help researchers and practitioners in avoiding to reinvent the wheel with ad-hoc, not-replicable empirical pipelines. AR is customizable via external business logic and extensible thanks to a plugin-based architecture.