ReuNify: A Step Towards Whole Program Analysis for React Native Android Apps

被引:0
|
作者
Liu, Yonghui [1 ]
Chen, Xiao [1 ]
Liu, Pei [2 ]
Grundy, John [1 ]
Chen, Chunyang [1 ]
Li, Li [3 ]
机构
[1] Monash Univ, Melbourne, Vic, Australia
[2] CSIROs Data61, Melbourne, Vic, Australia
[3] Beihang Univ, Beijing, Peoples R China
来源
2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE | 2023年
关键词
react native; mobile apps; static analysis;
D O I
10.1109/ASE56229.2023.00113
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 1,007 most popular React Native Android apps, augmenting the number of lines of Jimple code by 70%. Additionally, we observed an average increase of 84% in new nodes reached in the callgraph for these apps, after integrating REUNIFY. When REUNIFY is used for taint flow analysis, an average of two additional privacy leaks were identified. Overall, our results demonstrate that REUNIFY significantly enhances the Soot-based framework's capability to analyze React Native Android apps.
引用
收藏
页码:1390 / 1402
页数:13
相关论文
共 4 条
  • [1] Taming Reflection: An Essential Step Toward Whole-program Analysis of Android Apps
    Sun, Xiaoyu
    Li, Li
    Bissyande, Tegawende F.
    Klein, Jacques
    Octeau, Damien
    Grundy, John
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (03)
  • [2] FirmwareDroid: Towards Automated Static Analysis of Pre-Installed Android Apps
    Sutter, Thomas
    Tellenbach, Bernhard
    2023 IEEE/ACM 10TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS, MOBILESOFT, 2023, : 12 - 22
  • [3] NativeSummary: Summarizing Native Binary Code for Inter-language Static Analysis of Android Apps
    Wang, Jikai
    Wang, Haoyu
    PROCEEDINGS OF THE 33RD ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2024, 2024, : 971 - 982
  • [4] Towards Bridging the Gap Between Dalvik Bytecode and Native Code During Static Analysis of Android Applications
    Lantz, Patrik
    Johansson, Bjorn
    2015 INTERNATIONAL WIRELESS COMMUNICATIONS & MOBILE COMPUTING CONFERENCE (IWCMC), 2015, : 587 - 593