2019
DOI: 10.1145/3368087
|View full text |Cite
|
Sign up to set email alerts
|

Controlling Interactions with Libraries in Android Apps Through Runtime Enforcement

Abstract: Android applications are executed on smartphones equipped with a variety of resources that must be properly accessed and controlled, otherwise the correctness of the executions and the stability of the entire environment might be negatively affected. For example, apps must properly acquire, use, and release microphones, cameras, and other multimedia devices otherwise the behaviour of the apps that use the same resources might be compromised.Unfortunately, several apps do not use resources correctly, for instan… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
9
0
1

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
2
2

Relationship

3
4

Authors

Journals

citations
Cited by 12 publications
(10 citation statements)
references
References 38 publications
0
9
0
1
Order By: Relevance
“…This section summarizes the main results we obtained with Proactive Libraries. Additional details are available in [26].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…This section summarizes the main results we obtained with Proactive Libraries. Additional details are available in [26].…”
Section: Discussionmentioning
confidence: 99%
“…To prevent users from experiencing annoying problems caused by apps that inaccurately interact with APIs, we introduced a novel concept of library, called Proactive Library [25,26], that forces the apps to behave as the APIs require. For example, Proactive Library forces the app to release the camera every time its execution is suspended, that is, every time the onPause() callback of the activity that acquires the camera is invoked.…”
Section: Introductionmentioning
confidence: 99%
“…An overview of techniques to prevent failures by enforcing the correct behaviour at runtime has been recently published by Falcone et al [15]. Among these many domains, in this paper we focus on the Android environment, which has been already considered in the work by Falcone et al [12], who studied how to enforce privacy policies by detecting and disabling suspicious method calls, and more recently by Riganelli et al [35,36,34], who studied how to augment classic Android libraries with proactive mechanisms able to automatically suppress and insert API calls to enforce resource usage policies.…”
Section: Related Workmentioning
confidence: 99%
“…To prevent undesired behaviors that may result in software failures and crashes, runtime enforcement techniques have been used to modify the runtime behavior of software systems, forcing the systems to satisfy a set of correctness policies [16,27]. So far, runtime enforcement has been already applied to multiple domains, including security [21], resource management [35,36], and mobile computing [12,43].…”
Section: Introductionmentioning
confidence: 99%
“…To prevent these problems, users of mobile applications can install and activate software enforcers [12,15,32,11,10] that guarantee that specific correctness policies are satisfied (e.g., the camera is always released after it has been acquired). These enforcers can be typically generated automatically from a modelbased representation of the processes involved in the policy that must be enforced.…”
Section: Introductionmentioning
confidence: 99%