RouthSearch:基于坐标搜索推断飞行控制程序 PID 参数规范
摘要
飞行控制程序使用带有用户可配置比例(P)、积分(I)和微分(D)参数的 PID 控制模块来管理无人机的飞行行为。用户可在飞行期间调整这些 PID 参数。然而,飞行控制程序 lacks 对用户提供的 PID 参数的充分安全检查,导致严重的无人机漏洞——输入验证错误。当用户误配置 PID 参数时,将导致预期路径偏离、失去控制或崩溃等危险状态。先前的工作使用随机测试如模糊测试,但在 PID 参数的三维搜索空间中效果不佳。 UAV 测试的高昂动态执行成本进一步阻碍了随机测试的性能。我们通过结合 Routh-Hurwitz 稳定性准则和坐标搜索来解决 PID 参数误配置问题,引入 RouthSearch。RouthSearch 原则性地确定三维 PID 参数的有效范围。我们首先利用 Routh-Hurwitz 准则识别 PID 参数的理论边界,然后通过高效坐标搜索对其进行细化。确定的有效范围可用于飞行期间过滤用户配置的误配置 PID 参数,并帮助发现飞行控制程序中的逻辑错误。我们在 PX4 和 Ardupilot 的八个飞行模式中评估了 RouthSearch。结果表明,RouthSearch 相较于 ground truth 以 92.0% 的准确率确定有效范围。RouthSearch 在 48 小时内发现了 3,853 处 PID 误配置,而 STOA 工作 PGFuzz 只发现 449 组,显著优于先前工作的 8.58 倍。我们的方法还帮助检测到了 ArduPilot 和 PX4 中的三个 bug。
引用
@article{arxiv.2505.02357,
title = {RouthSearch: Inferring PID Parameter Specification for Flight Control Program by Coordinate Search},
author = {Siao Wang and Zhen Dong and Hui Li and Liwei Shen and Xin Peng and Dongdong She},
journal= {arXiv preprint arXiv:2505.02357},
year = {2025}
}
备注
Accepted by the 34rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2025)