paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Applying Fuzz Driver Generation to Native C/C++ Libraries of OEM Android Framework: Obstacles and Solutions

将模糊测试驱动程序生成应用于 OEM Android 框架的原生 C/C++ 库:障碍与解决方案
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 2/10 · 该论文属于程序分析与模糊测试驱动生成,且有工业落地价值,但与用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析均无直接关联。引用 1 inbox
Shiyan Peng, Yuan Zhang, Jiarun Dai, Yue Gu, Zhuoxiang Shen, Jingcheng Liu, Lin Wang, Yong Chen, Yu Qin, Lei Ai, Xianfeng Lu, Min Yang
crossref: 2026-09-12

AI 速览

一句话:设计 FuzzGen++,解决 OEM Android 原生库上模糊测试驱动生成的兼容性、可用性与有效性障碍。

模糊测试驱动程序生成(FDG)是库软件模糊测试的基础技术,现有方法在开源库上成效显著,但面对 OEM Android 框架的定制编译工具链、庞大代码库与多样 C/C++ 语言特性时难以直接落地。作者首先系统总结了 FuzzGen 等工具应用于 OEM Android(ColorOS)原生库时在兼容性、可用性与有效性三方面的障碍,随后设计了 FuzzGen++ 逐一加以解决。评估表明,FuzzGen++ 兼容 OEM Android,可为现有工作不支持的所有库生成驱动;配合驱动排序与选择方案,共自动生成 21,457 个模糊测试驱动并剔除其中 95% 的低价值驱动。相较手写驱动,其覆盖率提升 107.92%,并发现 6 个真实缺陷。

问题
现有模糊测试驱动生成工具(如 FuzzGen)难以应用于 OEM Android 框架的原生 C/C++ 库,具体表现为兼容性、可用性与有效性三方面的障碍。
方法
先系统归纳这些障碍,再设计专用工具 FuzzGen++,通过适配 OEM 定制编译工具链与代码库、增强对复杂 C/C++ 特性的代码分析,以及驱动排序与选择方案逐一应对。
评估
在真实 OEM Android 框架(ColorOS)上评估:自动生成 21,457 个模糊测试驱动并筛除 95% 的低价值驱动,相较手写驱动覆盖率提升 107.92%,最终发现 6 个真实缺陷。
原文摘要(Abstract)

Fuzz driver generation (FDG) is a fundamental technique for fuzzing library software. Existing FDG approaches have been highly successful with open-source libraries. However, in practice, due to the complex nature of OEM Android frameworks (e.g., customized compilation toolchains, extensive codebases, diverse C/C++ language features), it is not straightforward to integrate existing fuzz driver generation tools with OEM Android libraries. To address this challenge, we first systematically summarize the obstacles to applying existing tools (e.g., FuzzGen) to libraries of an OEM Android (i.e., ColorOS), including compatibility, usability, and effectiveness issues. Following this, we developed a new fuzz driver generation tool, namely FuzzGen++, specifically designed to tackle these obstacles one by one. In our evaluation, we demonstrate the advantages of FuzzGen++ in real-world OEM Android frameworks. FuzzGen++ is compatible with OEM Android and can generate fuzz drivers for all its libraries which are not supported by existing works. The additional analysis of the OEM Android code also enhances its usability within the system. Overall, FuzzGen++ has helped automatically generate 21,457 fuzz drivers. Additionally, through fuzz driver ranking and selection solution, FuzzGen++ figured out cut off 95% fuzz drivers which are less useful. FuzzGen++ supports sophisticated C/C++ features in code analysis, ensuring effectiveness. Compared to hand-written fuzz drivers, FuzzGen++ could generate and select fuzz drivers providing a 107.92% coverage improvement. Furthermore, they discovered 6 bugs, showcasing the capability of FuzzGen++ to find real-world issues.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8288,
  title = {Applying Fuzz Driver Generation to Native C/C++ Libraries of OEM Android Framework: Obstacles and Solutions},
  author = {Shiyan Peng and Yuan Zhang and Jiarun Dai and Yue Gu and Zhuoxiang Shen and Jingcheng Liu and Lin Wang and Yong Chen and Yu Qin and Lei Ai and Xianfeng Lu and Min Yang},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695266}
}