Proceedings of the 2015 International Symposium on Software Testing and Analysis 2015
DOI: 10.1145/2771783.2771810
|View full text |Cite
|
Sign up to set email alerts
|

Modelgen: mining explicit information flow specifications from concrete executions

Abstract: We present a technique to mine explicit information flow specifications from concrete executions. These specifications can be consumed by a static taint analysis, enabling static analysis to work even when method definitions are missing or portions of the program are too difficult to analyze statically (e.g., due to dynamic features such as reflection). We present an implementation of our technique for the Android platform. When compared to a set of manually written specifications for 309 methods across 51 cla… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
26
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
6
2
1

Relationship

1
8

Authors

Journals

citations
Cited by 19 publications
(26 citation statements)
references
References 52 publications
0
26
0
Order By: Relevance
“…Pre-computed summaries to solve other types of program analysis problems have been defined. Clapp et al [13] mine information flow specifications for the Android API methods. Their specifications identify how values from the app can be tainted in the Android API methods.…”
Section: Discussionmentioning
confidence: 99%
“…Pre-computed summaries to solve other types of program analysis problems have been defined. Clapp et al [13] mine information flow specifications for the Android API methods. Their specifications identify how values from the app can be tainted in the Android API methods.…”
Section: Discussionmentioning
confidence: 99%
“…EdgeMiner [6] ran backward data-flow analysis over the Android source code to find implicit flows. Modelgen [9] infers a model in terms of information flows, to support taint analysis. To learn behaviors of the target framework, it inputs concrete executions generated by Droidrecord, similarly to our logging using Redexer [18].…”
Section: Related Workmentioning
confidence: 99%
“…To address these issues, approaches have been proposed for automatically inferring specifications for library code, both based on dynamic analysis [3,8,30,35,36] and on static analysis [4,12,24,26,32,39]. In particular, tools have been designed to infer properties of missing code, including taint flow properties [13], function models [18,19], and callback control flow [20]. While these approaches are incomplete, and may not infer sound specifications, current static analyses used in production already rely on user-provided specifications [14], and as we will show, tools that automatically infer specifications can outperform human analysts.…”
Section: Introductionmentioning
confidence: 99%