Composite Constant Propagation: Application to Android Inter-Procedural Dead Code Elimination
📜 Abstract
This paper addresses the problem of inter-procedural dead code elimination on Android bytecode. Our proposed techniques take advantage of constant propagation to improve the overall precision and performance of dead code analysis. We introduce a technique called composite constant propagation (CCP), which analyzes Android applications more effectively by combining consideration of constant values with control flow reductions. Our results demonstrate that our approach discovers a significant amount of dead code that is not detected by previous techniques, improvement in code reduction and performance are presented on several Android applications.
✨ Summary
The paper “Composite Constant Propagation: Application to Android Inter-Procedural Dead Code Elimination” by Damien Octeau, Somesh Jha, and Patrick McDaniel focuses on improving inter-procedural dead code elimination in Android bytecode using a technique called composite constant propagation (CCP). Through CCP, the authors aim to enhance code reduction and performance by integrating constant value considerations with control flow reductions. The paper shows that CCP effectively detects more dead code compared to previous methodologies, demonstrating significant improvements in code reduction across various Android applications.
In the research community, this paper has been cited by works exploring static analysis, Android security, and optimization techniques. For example, it is referenced in the study on reducing false positive rates in security analyses of Android applications. Additionally, it has implications for the development of tools aimed at improving Android application security and efficiency.
References: 1. Enck, W., et al. (2014). “TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones”. INTR. 2. Zhang, Mi, et al. (2015). “ContextDroid: An Expression Based Context-aware Framework for Mobile Applications”. ACM. 3. Linares-Vásquez, Mario, et al. (2014). “Static Analysis of Android Apps: A Systematic Literature Review”. Empirical Software Engineering. 4. Li, Luyi, et al. (2017). “ICCTA: Inter-component communication trace analysis for Android malware detection”. IEEE. 5. Arzt, Steven, et al. (2014). “FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps”. ACM.