paperbot · PL 论文追踪

全部论文 待读 收藏

P2 ApkDiffer: Accurate and Scalable Cross-Version Diffing Analysis for Android Applications

ApkDiffer:面向 Android 应用的准确且可扩展的跨版本差异分析
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 该论文属于程序分析与安全领域,关注 Android 应用跨版本方法级差异分析,具有静态分析和工业规模评估元素;但与用户核心方向(LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析)没有直接关联,也未涉及 Agentic 程序或 LLM 改进分析。引用 0 inbox
Jiarun Dai, Mingyuan Luo, Yuan Zhang, Min Yang, Minghui Yang
crossref: 2026-09-10

AI 速览

一句话:提出 ApkDiffer,用两阶段分解对齐实现 Android 应用跨版本方法级差异分析,兼顾精度与可扩展性。

软件差异分析可用于 n-day 漏洞定位和抄袭检测,但现有二进制对齐工具难以应对现代 Android 应用的大规模代码库,跨版本应用差异分析研究不足。ApkDiffer 面向同一闭源 Android 应用的不同版本,提出基于分解的两阶段方法级对齐:先将各版本代码库分解为功能单元,再跨版本精确对齐实现等价功能的方法。评估表明,ApkDiffer 在精确率与召回率上明显优于现有对齐算法,且时间成本可接受;作者还用其追踪 100 个 Google Play 热门应用一年的演化,定位隐私收集行为变化的代码位置,揭示应用更新带来持续演变的隐私威胁。

问题
跨版本 Android 应用差异分析缺乏专门方法,现有面向二进制的可扩展对齐算法在现代应用的大代码库上误差显著,阻碍 n-day 漏洞定位、抄袭检测等安全分析。
方法
ApkDiffer 采用方法级(函数级)差异分析,先将每个应用版本代码库分解为多个功能单元,再对跨版本承担等价应用功能的方法进行精确对齐,以平衡可扩展性与有效性。
评估
在精度和召回率上对比现有对齐算法,ApkDiffer 明显更优且时间成本可接受;并用于追踪 100 个热门 Google Play 应用一年的演化,定位隐私收集差异的代码位置。
原文摘要(Abstract)

Software diffing (a.k.a., code alignment) is a fundamental technique to differentiate similar and dissimilar code pieces between two given software products. It can enable various kinds of critical security analysis, e.g., n-day bug localization, software plagiarism detection, etc. To date, many diffing tools have been proposed dedicated to aligning binaries. However, few research efforts have elaborated on cross-version Android app diffing, largely hindering the security assessment of wild apps. To sum up, existing diffing works usually establish scalability-oriented alignment algorithms, and suffer from significant alignment errors when handling the large codebases of modern apps. To fill this gap, we propose A pk D iffer , a method-level (i.e., function-level) diffing tool dedicated to aligning versions of the same closed-source Android app. A pk D iffer achieves a good balance between scalability and effectiveness, by featuring a two-stage decomposition-based alignment solution. It first decomposes the codebase of each app version, respectively, into multiple functionality units; then tries to precisely align methods that serve equivalent app functionalities across versions. In evaluation, the results show that A pk D iffer noticeably outperforms existing alignment algorithms in precision and recall, while still having a satisfactory time cost. In addition, we used A pk D iffer to track the one-year evolution of 100 popular Google Play apps. By pinpointing the detailed code locations where app versions deviate in privacy collection, we convincingly revealed that app updates may pose ever-evolving privacy threats to end-users.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2987,
  title = {ApkDiffer: Accurate and Scalable Cross-Version Diffing Analysis for Android Applications},
  author = {Jiarun Dai and Mingyuan Luo and Yuan Zhang and Min Yang and Minghui Yang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763141}
}