Non-Functional Testing of Runtime Enforcers in Android

09/14/2022
by   Oliviero Riganelli, et al.
0

Runtime enforcers can be used to ensure that running applications satisfy desired correctness properties. Although runtime enforcers that are correct-by-construction with respect to abstract behavioral models are relatively easy to specify, the concrete software enforcers generated from these specifications may easily introduce issues in the target application. Indeed developers can generate test suites to verify the functional behavior of the enforcers, for instance exploiting the same models used to specify them. However, it remains challenging and tedious to verify the behavior of enforcers in terms of non-functional performance characteristics. This paper describes a practical approach to reveal runtime enforcers that may introduce inefficiencies in the target application. The approach relies on a combination of automatic test generation and runtime monitoring of multiple key performance indicators. We designed our approach to reveal issues in four indicators for mobile systems: responsiveness, launch time, memory, and energy consumption. Experimental results show that our approach can detect performance issues that might be introduced by automatically generated enforcers.

READ FULL TEXT
research
08/22/2023

Multi-Objective Improvement of Android Applications

Non-functional properties, such as runtime or memory use, are important ...
research
10/08/2020

Test4Enforcers: Test Case Generation for Software Enforcers

Software enforcers can be used to modify the runtime behavior of softwar...
research
08/27/2019

Who is to Blame? Runtime Verification of Distributed Objects with Active Monitors

Since distributed software systems are ubiquitous, their correct functio...
research
08/12/2021

Can We Spot Energy Regressions using Developers Tests?

Software Energy Consumption(SEC) is gaining more and more attention. In ...
research
05/19/2022

Primrose: Selecting Container Data Types by their Properties

Container data types are ubiquitous in computer programming, enabling de...
research
04/24/2018

Developing Theoretical Foundations for Runtime Enforcement

The ubiquitous reliance on software systems increases the need for ensur...
research
01/30/2021

Performance Measurements within Asynchronous Task-based Runtime Systems: A Double White Dwarf Merger as an Application

Analyzing performance within asynchronous many-task-based runtime system...

Please sign up or login with your details

Forgot password? Click here to reset