PHYFU:面向现代物理仿真引擎的模糊测试
软件工程
2023-08-15 v2
摘要
物理仿真引擎(PSE)是一种模拟物理环境与物体的软件系统。现代 PSE 具备前向与反向仿真功能,其中前向阶段预测被仿真系统的行为,反向阶段为基于学习的控制任务(如机械臂学习抓取物品)提供梯度(引导)。由此,现代 PSE 对基于学习的控制方法展现出良好的支持。迄今,PSE 已大量用于游戏、电影、虚拟现实(VR)和机器人等各类高利润商业应用。尽管学术界及 Google、NVIDIA 等工业制造商对 PSE 的开发和利用日益繁荣,PSE 仍可能产生错误仿真,从而导致从娱乐中不佳的用户体验到机器相关制造与手术操作中的事故等负面后果。本文提出 PHYFU,一个专为 PSE 设计的模糊测试框架,用于揭示前向与反向仿真阶段的错误。PHYFU 对初始状态进行变异,并断言被测 PSE 是否相对于基本物理定律(PLs)表现一致。我们进一步采用反馈驱动的测试输入调度来引导并加速错误搜索。我们对四个 PSE 的研究涵盖了主流工业厂商(Google 和 NVIDIA)以及学术产品。我们成功发现了超过 5K 个触发错误的输入,这些输入生成的错误仿真结果遍布 PSE 的整个软件栈。
引用
@article{arxiv.2307.10818,
title = {PHYFU: Fuzzing Modern Physics Simulation Engines},
author = {Dongwei Xiao and Zhibo Liu and Shuai Wang},
journal= {arXiv preprint arXiv:2307.10818},
year = {2023}
}
备注
This paper is accepted at The 38th IEEE/ACM International Conference on Automated Software Engineering, a.k.a. ASE 2023. Please cite the published version as soon as this paper appears in the conference publications