Skip to main navigation Skip to search Skip to main content

ReuNify: A step towards whole program analysis for react native Android apps

  • Yonghui Liu
  • , Xiao Chen
  • , Pei Liu
  • , John Grundy
  • , Chunyang Chen
  • , Li Li

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

Abstract

React Native is a widely-used open-source frame-work 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.

Original languageEnglish
Title of host publicationProceedings - 2023 38th IEEE/ACM International Conference on Automated Software Engineering, ASE 2023
EditorsSaad Ezzini
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages1390-1402
Number of pages13
ISBN (Electronic)9798350329964
ISBN (Print)9798350329971
DOIs
Publication statusPublished - 2023
EventAutomated Software Engineering Conference 2023 - Echternach, Luxembourg
Duration: 11 Sept 202315 Sept 2023
Conference number: 38th
https://ieeexplore.ieee.org/xpl/conhome/10298258/proceeding (Proceedings)
https://conf.researchr.org/home/ase-2023 (Website)

Conference

ConferenceAutomated Software Engineering Conference 2023
Abbreviated titleASE 2023
Country/TerritoryLuxembourg
CityEchternach
Period11/09/2315/09/23
Internet address

Keywords

  • mobile apps
  • react native
  • static analysis

Cite this