paperbot · PL 论文追踪

全部论文 待读 收藏

P2 GlassWing: A Tailored Static Analysis Approach for Flutter Android Apps

GlassWing:一种面向 Flutter Android 应用的定制化静态分析方法
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 2/10 · 该论文属于静态分析与数据流分析,但研究对象是 Flutter Android 应用的 Dart-DEX 跨语言调用,未涉及 LLM/Agent、机器学习系统、浮点程序分析或贝叶斯程序分析,与用户画像的核心问题交集有限;仅可作为静态分析工程方法的间接参考。引用 1 inbox
Xiangyu Zhang, Yucheng Su, Lingling Fan, Miaoying Cai, Sen Chen
crossref: 2026-09-12

AI 速览

一句话:首个面向 Flutter Android 应用的定制静态分析方法,通过数据流提取揭示 Dart 与 DEX 间的隐式跨语言调用关系。

跨平台框架 Flutter 被广泛使用,但现有静态分析工具无法识别 Flutter 中 Dart 代码与 Android 原生 Dalvik 字节码(DEX)之间的隐式跨语言调用,导致移动软件分析不完整。本文提出 GlassWing,这是首个为 Flutter Android 应用量身定制的静态分析方法。它采用面向数据流的方式对 Flutter 应用进行关键程序语义抽取,显式披露 Dart 与 DEX 之间的隐式调用关系,使跨语言调用对分析工具可见。作者在 1023 个真实流行 Flutter 应用上进行了广泛评估:与 Soot 集成后,GlassWing 多解析了 141% 的 Jimple 代码行,扩展了调用图的边与节点,并借助 FlowDroid 揭示了近 3 倍此前无法检测到的潜在敏感数据泄露。该工作为 Flutter 应用的下游研究(如程序图分析、污点分析与恶意软件分析)提供了支撑,可无缝增强现有与未来的 Android 分析工作。

问题
现有静态分析工具无法识别 Flutter 应用中 Dart 代码与 Android 原生 DEX 字节码之间的隐式调用,造成跨语言调用不可见、移动软件分析不完整。
方法
GlassWing 采用面向数据流的方法对 Flutter 应用做关键程序语义抽取,披露 Dart–DEX 隐式调用关系,使跨语言调用在静态分析中可见,并可与 Soot/FlowDroid 等工具集成。
评估
在 1023 个真实流行 Flutter 应用上评估:与 Soot 集成后多解析 141% 的 Jimple 代码行,调用图边与节点增多,并用 FlowDroid 发现近 3 倍此前未检测到的潜在敏感数据泄露。
原文摘要(Abstract)

The variety of mobile operating systems available in the market has led to the emergence of cross-platform frameworks, which simplify the development and deployment of mobile applications across multiple platforms simultaneously. Among these, the Flutter framework promoted by Google has become a widely used cross-platform development framework. To date, no work has provided support for the static analysis of Flutter apps on the Android platform. State-of-the-art static analyzers fail to "see" the implicit invocation between the Dart language used by the Flutter framework and the Dalvik bytecode (DEX) used by the native Android platform, posing a significant threat to the completeness of the mobile software analysis.In this paper, we present GlassWing, the first tailored approach to static analysis for Flutter Android apps. GlassWing leverages a data-flow-oriented approach to conduct key program semantic extraction of Flutter apps and discloses the implicit Dart-DEX invocation relations, thereby making cross-language invocation visible. Extensive evaluation on 1,023 popular real-world Flutter apps indicates that GlassWing enhances static analysis of Flutter apps integrated with Soot by parsing 141% more Jimple code lines, extending the call graph with more edges and nodes, and revealing almost 3X potential sensitive data leaks that were previously undetected with FlowDroid. GlassWing sheds light on downstream research fields for Flutter apps (e.g., program graph analysis, taint analysis, and malicious software analysis). Many current and future Android analysis initiatives can be enhanced by seamlessly incorporating GlassWing’s insights.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot9543,
  title = {GlassWing: A Tailored Static Analysis Approach for Flutter Android Apps},
  author = {Xiangyu Zhang and Yucheng Su and Lingling Fan and Miaoying Cai and Sen Chen},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00050}
}