ReuNify: A Step Towards Whole Program Analysis for React Native Android Apps
Yonghui Liu, Xiao Chen, Pei Liu, John Grundy, Chunyang Chen, and Li Li

TL;DR
ReuNify is a tool that integrates JavaScript and native code in React Native Android apps into a unified analysis framework, significantly improving static analysis coverage and privacy leak detection.
Contribution
ReuNify introduces a novel approach to combine JavaScript and native code into an intermediate language for comprehensive static analysis of React Native apps.
Findings
70% increase in code coverage using Soot with ReuNify
84% increase in callgraph nodes reached
Detection of two additional privacy leaks on average
Abstract
React Native is a widely-used open-source framework that facilitates the development of cross-platform mobile apps. The framework enables JavaScript code to interact with native-side code, such as Objective-C/Swift for iOS and Java/Kotlin for Android, via a communication mechanism provided by React Native. However, previous research and tools have overlooked this mechanism, resulting in incomplete analysis of React Native app code. To address this limitation, we have developed REUNIFY, a prototype tool that integrates the JavaScript and native-side code of React Native apps into an intermediate language that can be processed by the Soot static analysis framework. By doing so, REUNIFY enables the generation of a comprehensive model of the app's behavior. Our evaluation indicates that, by leveraging REUNIFY, the Soot-based framework can improve its coverage of static analysis for the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Mobile and Web Applications · Green IT and Sustainability
