VLDB 2026 Research / reviewers in the wild / expert
Damien Octeau
dblp:20/11088
· DBLP profile ↗
16ranked-venue papers
5as first author
1since 2021 · last 2021
0000-0002-3645-5985ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 4 first-author · 1 since 2021Security and privacy · 4 · 1 first-authorArtificial intelligence and machine learning · 1Databases, data management, data science and information retrieval · 1Human-computer interaction and ubiquitous computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
12 papers |
Program analysis · 91% Operating systems · 5% Runtime systems and virtual machines · 3% | |
| Network and information security
10 papers |
Web and mobile security · 75% Systems and software security · 16% Privacy and data protection · 7% |
Topics — the 25 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
2.6 | 11 | 2021 | Taming Reflection: An Essential Step Toward Whole-program Analysis of Android Apps · ACM Trans. Softw. Eng. Methodol. 2021 Neural-augmented static analysis of Android communication · ESEC/SIGSOFT FSE 2018 Composite Constant Propagation and its Application to Android Program Analysis · IEEE Trans. Software Eng. 2016 |
Web and mobile security
mobile security |
1.4 | 7 | 2021 | Taming Reflection: An Essential Step Toward Whole-program Analysis of Android Apps · ACM Trans. Softw. Eng. Methodol. 2021 DroidRA: taming reflection to support whole-program analysis of Android apps · ISSTA 2016 IccTA: Detecting Inter-Component Privacy Leaks in Android Apps · ICSE (1) 2015 |
Web and mobile security › mobile security
android application security |
0.6 | 2 | 2021 | Taming Reflection: An Essential Step Toward Whole-program Analysis of Android Apps · ACM Trans. Softw. Eng. Methodol. 2021 A Study of Android Application Security · USENIX Security Symposium 2011 |
Program analysis › data flow analysis
constant propagation |
0.5 | 2 | 2016 | Composite Constant Propagation and its Application to Android Program Analysis · IEEE Trans. Software Eng. 2016 Composite Constant Propagation: Application to Android Inter-Component Communication Analysis · ICSE (1) 2015 |
Web and mobile security › mobile security
android security |
0.4 | 3 | 2018 | On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis · USENIX Security Symposium 2016 Neural-augmented static analysis of Android communication · ESEC/SIGSOFT FSE 2018 Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis · POPL 2016 |
Program analysis › static analysis
interprocedural analysis |
0.3 | 2 | 2016 | Composite Constant Propagation and its Application to Android Program Analysis · IEEE Trans. Software Eng. 2016 Composite Constant Propagation: Application to Android Inter-Component Communication Analysis · ICSE (1) 2015 |
Web and mobile security › mobile security
android security analysis |
0.2 | 1 | 2016 | DroidRA: taming reflection to support whole-program analysis of Android apps · ISSTA 2016 |
Operating systems › system security › operating system security
access control |
0.2 | 1 | 2016 | On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis · USENIX Security Symposium 2016 |
Program analysis › data flow analysis
context-sensitive dataflow analysis |
0.2 | 1 | 2016 | Composite Constant Propagation and its Application to Android Program Analysis · IEEE Trans. Software Eng. 2016 |
Program analysis › static analysis › interprocedural analysis
whole-program analysis |
0.2 | 1 | 2016 | DroidRA: taming reflection to support whole-program analysis of Android apps · ISSTA 2016 |
Privacy and data protection › differential privacy › privacy auditing
privacy leak detection |
0.2 | 1 | 2015 | IccTA: Detecting Inter-Component Privacy Leaks in Android Apps · ICSE (1) 2015 |
Program analysis › static analysis
taint analysis |
0.2 | 1 | 2015 | IccTA: Detecting Inter-Component Privacy Leaks in Android Apps · ICSE (1) 2015 |
Systems and software security › information flow tracking › taint analysis
android taint analysis |
0.2 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Systems and software security › information flow tracking › taint analysis
static taint analysis |
0.2 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Systems and software security › information flow tracking
taint analysis |
0.2 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Program analysis › static analysis › interprocedural analysis
context-sensitive analysis |
0.2 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Program analysis › data flow analysis
flow-sensitive analysis |
0.2 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Runtime systems and virtual machines › binary translation
bytecode translation |
0.1 | 1 | 2012 | Retargeting Android applications to Java bytecode · SIGSOFT FSE 2012 |
Malware analysis
malware detection |
0.1 | 1 | 2016 | Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis · POPL 2016 |
Empirical software engineering › mining software repositories › mobile app analysis
android app analysis |
0.1 | 1 | 2016 | Composite Constant Propagation and its Application to Android Program Analysis · IEEE Trans. Software Eng. 2016 |
Program analysis › dynamic analysis › instrumentation
bytecode instrumentation |
0.1 | 1 | 2016 | Reflection-aware static analysis of Android apps · ASE 2016 |
Web and mobile security › mobile security
android inter-component communication analysis |
0.1 | 1 | 2015 | Composite Constant Propagation: Application to Android Inter-Component Communication Analysis · ICSE (1) 2015 |
Privacy and data protection › information leakage
data leakage detection |
0.1 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Web and mobile security
mobile application security |
0.1 | 1 | 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps · PLDI 2014 |
Systems and software security
vulnerability discovery |
0.0 | 1 | 2011 | A Study of Android Application Security · USENIX Security Symposium 2011 |
Methods — techniques the papers use, named apart from their topics
instrumentation · 1.5constant propagation · 1.5COAL solver · 1.5static taint analysis · 0.8type-directed encoder · 0.7neural network · 0.7set constraints · 0.5probabilistic model · 0.5constraint solving · 0.4static analysis · 0.3permission specification analysis · 0.2bytecode instrumentation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Taming Reflection: An Essential Step Toward Whole-program Analysis of Android AppsabstractAndroid developers heavily use reflection in their apps for legitimate reasons. However, reflection is also significantly used for hiding malicious actions. Unfortunately, current state-of-the-art static analysis tools for Android are challenged by the presence of reflective calls, which they usually ignore. Thus, the results of their security analysis, e.g., for private data leaks, are incomplete, given the measures taken by malware writers to elude static detection. We propose a new instrumentation-based approach to address this issue in a non-invasive way. Specifically, we introduce to the community a prototype tool called DroidRA, which reduces the resolution of reflective calls to a composite constant propagation problem and then leverages the COAL solver to infer the values of reflection targets. After that, it automatically instruments the app to replace reflective calls with their corresponding Java calls in a traditional paradigm. Our approach augments an app so that it can be more effectively statically analyzable, including by such static analyzers that are not reflection-aware. We evaluate DroidRA on benchmark apps as well as on real-world apps, and we demonstrate that it can indeed infer the target values of reflective calls and subsequently allow state-of-the-art tools to provide more sound and complete analysis results. Xiaoyu Sun 0002, Li Li 0029, Tegawendé F. Bissyandé, Jacques Klein, Damien Octeau, John C. Grundy |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2018 | Neural-augmented static analysis of Android communicationabstractWe address the problem of discovering communication links between applications in the popular Android mobile operating system, an important problem for security and privacy in Android. Any scalable static analysis in this complex setting is bound to produce an excessive amount of false-positives, rendering it impractical. To improve precision, we propose to augment static analysis with a trained neural-network model that estimates the probability that a communication link truly exists. We describe a neural-network architecture that encodes abstractions of communicating objects in two applications and estimates the probability with which a link indeed exists. At the heart of our architecture are type-directed encoders (TDE), a general framework for elegantly constructing encoders of a compound data type by recursively composing encoders for its constituent types. We evaluate our approach on a large corpus of Android applications, and demonstrate that it achieves very high accuracy. Further, we conduct thorough interpretability studies to understand the internals of the learned neural networks. Jinman Zhao, Aws Albarghouthi, Vaibhav Rastogi, Somesh Jha, Damien Octeau |
ESEC/SIGSOFT FSE | 5 |
| 2017 | Static analysis of android apps: A systematic literature review
Li Li 0029, Tegawendé F. Bissyandé, Mike Papadakis, Siegfried Rasthofer, Alexandre Bartel, Damien Octeau, Jacques Klein, Yves Le Traon |
Inf. Softw. Technol. | 6 |
| 2016 | DroidRA: taming reflection to support whole-program analysis of Android appsabstractAndroid developers heavily use reflection in their apps for legitimate reasons, but also significantly for hiding malicious actions. Unfortunately, current state-of-the-art static analysis tools for Android are challenged by the presence of reflective calls which they usually ignore. Thus, the results of their security analysis, e.g., for private data leaks, are inconsistent given the measures taken by malware writers to elude static detection. We propose the DroidRA instrumentation-based approach to address this issue in a non-invasive way. With DroidRA, we reduce the resolution of reflective calls to a composite constant propagation problem. We leverage the COAL solver to infer the values of reflection targets and app, and we eventually instrument this app to include the corresponding traditional Java call for each reflective call. Our approach allows to boost an app so that it can be immediately analyzable, including by such static analyzers that were not reflection-aware. We evaluate DroidRA on benchmark apps as well as on real-world apps, and demonstrate that it can allow state-of-the-art tools to provide more sound and complete analysis results. Li Li 0029, Tegawendé F. Bissyandé, Damien Octeau, Jacques Klein |
ISSTA | 3 |
| 2016 | Reflection-aware static analysis of Android appsabstractWe demonstrate the benefits of DroidRA, a tool for taming reflection in Android apps. DroidRA first statically extracts reflection-related object values from a given Android app. Then, it leverages the extracted values to boost the app in a way that reflective calls are no longer a challenge for existing static analyzers. This is achieved through a bytecode instrumentation approach, where reflective calls are supplemented with explicit traditional Java method calls which can be followed by state-of-the-art analyzers which do not handle reflection. Instrumented apps can thus be completely analyzed by existing static analyzers, which are no longer required to be modified to support reflection-aware analysis. The video demo of DroidRA can be found at https://youtu.be/HW0V68aAWc Li Li 0029, Tegawendé F. Bissyandé, Damien Octeau, Jacques Klein |
ASE | 3 |
| 2016 | Combining static analysis with probabilistic models to enable market-scale Android inter-component analysisabstractStatic analysis has been successfully used in many areas, from verifying mission-critical software to malware detection. Unfortunately, static analysis often produces false positives, which require significant manual effort to resolve. In this paper, we show how to overlay a probabilistic model, trained using domain knowledge, on top of static analysis results, in order to triage static analysis results. We apply this idea to analyzing mobile applications. Android application components can communicate with each other, both within single applications and between different applications. Unfortunately, techniques to statically infer Inter-Component Communication (ICC) yield many potential inter-component and inter-application links, most of which are false positives. At large scales, scrutinizing all potential links is simply not feasible. We therefore overlay a probabilistic model of ICC on top of static analysis results. Since computing the inter-component links is a prerequisite to inter-component analysis, we introduce a formalism for inferring ICC links based on set constraints. We design an efficient algorithm for performing link resolution. We compute all potential links in a corpus of 11,267 applications in 30 minutes and triage them using our probabilistic approach. We find that over 95.1% of all 636 million potential links are associated with probability values below 0.01 and are thus likely unfeasible links. Thus, it is possible to consider only a small subset of all links without significant loss of information. This work is the first significant step in making static inter-application analysis more tractable, even at large scales. Damien Octeau, Somesh Jha, Matthew L. Dering, Patrick D. McDaniel, Alexandre Bartel, Li Li 0029, Jacques Klein, Yves Le Traon |
POPL | 1 |
| 2016 | On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis
Michael Backes 0001, Sven Bugiel, Erik Derr, Patrick D. McDaniel, Damien Octeau, Sebastian Weisgerber |
USENIX Security Symposium | 5 |
| 2016 | Composite Constant Propagation and its Application to Android Program AnalysisabstractMany program analyses require statically inferring the possible values of composite types. However, current approaches either do not account for correlations between object fields or do so in an ad hoc manner. In this paper, we introduce the problem of composite constant propagation. We develop the first generic solver that infers all possible values of complex objects in an interprocedural, flow and context-sensitive manner, taking field correlations into account. Composite constant propagation problems are specified using COAL, a declarative language. We apply our COAL solver to the problem of inferring Android Inter-Component Communication (ICC) values, which is required to understand how the components of Android applications interact. Using COAL, we model ICC objects in Android more thoroughly than the state-of-the-art. We compute ICC values for 489 applications from the Google Play store. The ICC values we infer are substantially more precise than previous work. The analysis is efficient, taking two minutes per application on average. While this work can be used as the basis for many whole-program analyses of Android applications, the COAL solver can also be used to infer the values of composite objects in many other contexts. Damien Octeau, Daniel Luchaup, Somesh Jha, Patrick D. McDaniel |
IEEE Trans. Software Eng. | 1 |
| 2015 | IccTA: Detecting Inter-Component Privacy Leaks in Android AppsabstractShake Them All is a popular "Wallpaper" application exceeding millions of downloads on Google Play. At installation, this application is given permission to (1) access the Internet (for updating wallpapers) and (2) use the device microphone (to change background following noise changes). With these permissions, the application could silently record user conversations and upload them remotely. To give more confidence about how Shake Them All actually processes what it records, it is necessary to build a precise analysis tool that tracks the flow of any sensitive data from its source point to any sink, especially if those are in different components. Since Android applications may leak private data carelessly or maliciously, we propose IccTA, a static taint analyzer to detect privacy leaks among components in Android applications. IccTA goes beyond state-of-the-art approaches by supporting inter- component detection. By propagating context information among components, IccTA improves the precision of the analysis. IccTA outperforms existing tools on two benchmarks for ICC-leak detectors: DroidBench and ICC-Bench. Moreover, our approach detects 534 ICC leaks in 108 apps from MalGenome and 2,395 ICC leaks in 337 apps in a set of 15,000 Google Play apps. Li Li 0029, Alexandre Bartel, Tegawendé F. Bissyandé, Jacques Klein, Yves Le Traon, Steven Arzt, Siegfried Rasthofer, Eric Bodden, Damien Octeau, Patrick D. McDaniel |
ICSE (1) | 9 |
| 2015 | Composite Constant Propagation: Application to Android Inter-Component Communication AnalysisabstractMany program analyses require statically inferring the possible values of composite types. However, current approaches either do not account for correlations between object fields or do so in an ad hoc manner. In this paper, we introduce the problem of composite constant propagation. We develop the first generic solver that infers all possible values of complex objects in an interprocedural, flow and context-sensitive manner, taking field correlations into account. Composite constant propagation problems are specified using COAL, a declarative language. We apply our COAL solver to the problem of inferring Android Inter-Component Communication (ICC) values, which is required to understand how the components of Android applications interact. Using COAL, we model ICC objects in Android more thoroughly than the state-of-the-art. We compute ICC values for 460 applications from the Play store. The ICC values we infer are substantially more precise than previous work. The analysis is efficient, taking slightly over two minutes per application on average. While this work can be used as the basis for many whole-program analyses of Android applications, the COAL solver can also be used to infer the values of composite objects in many other contexts. Damien Octeau, Daniel Luchaup, Matthew L. Dering, Somesh Jha, Patrick D. McDaniel |
ICSE (1) | 1 |
| 2014 | Optimal strategies for targeted influence in signed networksabstractOnline social communities often exhibit complex relationship structures, ranging from close friends to political rivals. As a result, persons are influenced by their friends and foes differently. Network applications can benefit from accompanying these structural differences in propagation schemes. In this paper, we study the optimal influence propagation policies for networks with positive and negative relationship types. We tackle the problem of minimizing the end-to-end propagation cost of influencing a target person in favor of an idea by utilizing the relationship types in the underlying social graph. The propagation cost is incurred by social and physical network dynamics such as frequency of interaction, the strength of friendship and foe ties, propagation delay or the impact factor of the propagating idea. We extend this problem by incorporating the impact of message deterioration and ignorance. We demonstrate our results in both a controlled environment and the Epinions dataset. Our results show that judicious propagation schemes lead to a significant reduction in the average cost and complexity of influence propagation compared to naïve myopic algorithms. Basak Guler, Burak Varan, Kaya Tutuncuoglu, Mohamed S. Nafea, Ahmed A. Zewail, Aylin Yener, Damien Octeau |
ASONAM | 7 |
| 2014 | FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android appsabstractToday's smartphones are a ubiquitous source of private and confidential data. At the same time, smartphone users are plagued by carelessly programmed apps that leak important data by accident, and by malicious apps that exploit their given privileges to copy such data intentionally. While existing static taint-analysis approaches have the potential of detecting such data leaks ahead of time, all approaches for Android use a number of coarse-grain approximations that can yield high numbers of missed leaks and false alarms. Steven Arzt, Siegfried Rasthofer, Christian Fritz 0002, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick D. McDaniel |
PLDI | 8 |
| 2014 | Duet: library integrity verification for android applicationsabstractIn recent years, the Android operating system has had an explosive growth in the number of applications containing third-party libraries for different purposes. In this paper, we identify three library-centric threats in the real-world Android application markets: (i) the library modification threat, (ii) the masquerading threat and (iii) the aggressive library threat. These three threats cannot effectively be fully addressed by existing defense mechanisms such as software analysis, anti-virus software and anti-repackaging techniques. To mitigate these threats, we propose Duet, a library integrity verification tool for Android applications at application stores. This is non-trivial because the Android application build process merges library code and application-specific logic into a single binary file. Our approach uses reverse-engineering to achieve integrity verification. We implemented a full working prototype of Duet. In a dataset with 100,000 Android applications downloaded from Google Play between February 2012 and September 2013, we verify integrity of 15 libraries. On average, 80.50% of libraries can pass the integrity verification. In-depth analysis indicates that code insertion, obfuscation, and optimization on libraries by application developers are the primary reasons for not passing integrity verification. The evaluation results not only indicate that Duet is an effective tool to mitigate library-centric attacks, but also provide empirical insight into the library integrity situation in the wild. Wenhui Hu, Damien Octeau, Patrick D. McDaniel, Peng Liu 0005 |
WISEC | 2 |
| 2013 | Effective Inter-Component Communication Mapping in Android: An Essential Step Towards Holistic Security Analysis
Damien Octeau, Patrick D. McDaniel, Somesh Jha, Alexandre Bartel, Eric Bodden, Jacques Klein, Yves Le Traon |
USENIX Security Symposium | 1 |
| 2012 | Retargeting Android applications to Java bytecodeabstractThe Android OS has emerged as the leading platform for SmartPhone applications. However, because Android applications are compiled from Java source into platform-specific Dalvik bytecode, existing program analysis tools cannot be used to evaluate their behavior. This paper develops and evaluates algorithms for retargeting Android applications received from markets to Java class files. The resulting Dare tool uses a new intermediate representation to enable fast and accurate retargeting. Dare further applies strong constraint solving to infer typing information and translates the 257 DVM opcodes using only 9 translation rules. It also handles cases where the input Dalvik bytecode is unverifiable. We evaluate Dare on 1,100 of the top applications found in the free section of the Android market and successfully retarget 99.99% of the 262,110 associated classes. Further, whereas existing tools can only fully retarget about half of these applications, Dare can recover over 99% of them. In this way, we open the door to users, developers and markets to use the vast array of program analysis tools to ensure the correct operation of Android applications. Damien Octeau, Somesh Jha, Patrick D. McDaniel |
SIGSOFT FSE | 1 |
| 2011 | A Study of Android Application Security
William Enck, Damien Octeau, Patrick D. McDaniel, Swarat Chaudhuri |
USENIX Security Symposium | 2 |