Proceedings of the 5th ACM SIGPLAN International Workshop on State of the Art in Program Analysis 2016
DOI: 10.1145/2931021.2931026
|View full text |Cite
|
Sign up to set email alerts
|

On the unsoundness of static analysis for Android GUIs

Abstract: Android software presents exciting new challenges for the static analysis community. However, static analyses for Android are typically unsound. This is due to the lack of specification of the Android framework, the continuous evolution of framework features and behavior, and the absence of soundness arguments and studies by program analysis researchers. Our goal is to investigate one important aspect of this problem: the static modeling of control/data flow due to interactions of the user with the application… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 25 publications
(15 citation statements)
references
References 36 publications
0
15
0
Order By: Relevance
“…Flowdroid [7] and IccTA [17] used the lifecycle of components for inter-callback analysis. The manual models can only handle a subset of the callbacks executed in the Android API methods, and can be imprecise [25] and difficult to update as the Android framework evolves. To identify more callback sequences besides manual models, Blackshear et al [9] introduced the jumping framework, which identifies inter-callback control flow constraints via data dependencies between variables located in different callbacks in the apps.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Flowdroid [7] and IccTA [17] used the lifecycle of components for inter-callback analysis. The manual models can only handle a subset of the callbacks executed in the Android API methods, and can be imprecise [25] and difficult to update as the Android framework evolves. To identify more callback sequences besides manual models, Blackshear et al [9] introduced the jumping framework, which identifies inter-callback control flow constraints via data dependencies between variables located in different callbacks in the apps.…”
Section: Discussionmentioning
confidence: 99%
“…Without considering API methods, we are unable to obtain all possible paths of callbacks for the apps. Due to its importance, previous studies have used manual approaches to model the control flow of callbacks in the Android API methods [28] [29] [25]. The challenges are that the Android framework evolves fast, and it contains more than 20,000 API methods.…”
mentioning
confidence: 99%
“…However, this model does not include the callbacks invoked by external events or in API calls made in the app. For instance, the model used for GUI events in FLOWDROID is not as accurate as the GUI model used in WTGs [7]. On the contrary, CCFA integrates callbacks from external events or API calls.…”
Section: Second Approachmentioning
confidence: 99%
“…Trying to use knowledge from the semantics of the system, several studies [4], [5], [9], [27], [32], [33] have use lifecycle of components in Android apps to define intercallback control flow. However, these approaches just focus on components' callbacks and some GUI events and can be incomplete for the rest of the Android API [7]. Besides control flow constraints offered by lifecycle of components, Blackshear et al [34] use data dependencies between callbacks to identify more ordering constraints between callbacks.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation