paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Towards automatically repairing compatibility issues in published Android apps

面向已发布 Android 应用兼容性问题的自动修复
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 1/10 · 该论文研究 Android 已发布应用的兼容性问题自动修复,核心是基于补丁描述语言和模板在字节码层面打补丁,属于移动软件工程/自动程序修复方向,与用户关注的 PL→AI、AI→PL、浮点程序分析、贝叶斯程序分析及其与 LLM 的交叉均无明显关系。引用 34 inbox
Yanjie Zhao, Li Li, Kui Liu, John Grundy
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 RepairDroid,通过通用补丁描述语言与模板在字节码层面自动修复已发布 Android 应用的多种兼容性问题。

Android 生态碎片化导致应用出现运行时崩溃或设备无法安装等兼容性问题。现有检测与修复方法通常只能处理单一类型问题,难以应对同一行多重调用以及已发布应用。本文提出通用修复方法 RepairDroid,其核心是提供通用应用补丁描述语言,允许用户为兼容性问题编写修复模板;RepairDroid 在字节码层面自动应用模板,可在用户安装前修复 OS 引发、设备特定与跨回调等兼容性问题,并兼容三种最先进检测方法的结果。实验在 1,000 个随机选择的 Google Play 应用上修复 8,976 个兼容性问题中的 7,660 个,表明其可配置性和修复效果优于现有技术。

问题
现有 Android 兼容性修复方法限制较多,通常只能修复特定类型的问题,且无法处理单行多重调用和已发布应用中的兼容性问题。
方法
提出 RepairDroid,提供通用应用补丁描述语言供用户创建修复模板,并在字节码层面自动应用模板来修复兼容性问题。
评估
在 1,000 个随机选择的 Google Play 应用中,RepairDroid 修复了 8,976 个兼容性问题中的 7,660 个,并优于现有最先进方法。
原文摘要(Abstract)

The heavy fragmentation of the Android ecosystem has led to severe compatibility issues with apps, including those that crash at runtime or cannot be installed on certain devices but work well on other devices. To address this problem, various approaches have been proposed to detect and fix compatibility issues automatically. However, these all come with various limitations on fixing the compatibility issues, e.g., can only fix one specific type of issues, cannot deal with multi-invocation issues in a single line and issues in released apps. To overcome these limitations, we propose a generic approach that aims at fixing more types of compatibility issues in released Android apps. To this end, our prototype tool, RepairDroid, provides a generic app patch description language for users to create fix templates for compatibility issues. The created templates will then be leveraged by RepairDroid to automatically fix the corresponding issue at the bytecode level (e.g., right before users install the app). RepairDroid can support template creations for OS-induced, device-specific and inter-callback compatibility issues detected by three state-of-the-art approaches. Our experimental results show that RepairDroid can fix 7,660 out of 8,976 compatibility issues in 1,000 randomly selected Google Play apps. RepairDroid is generic to configure new compatibility issues and outperforms the state-of-the-art on effectively repairing compatibility issues in released Android apps.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{Zhao0LG22,
  title = {Towards automatically repairing compatibility issues in published Android apps},
  author = {Yanjie Zhao and Li Li and Kui Liu and John Grundy},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510128}
}