Skip to main navigation Skip to search Skip to main content

RouthSearch: Inferring PID Parameter Specification for Flight Control Program by Coordinate Search

  • Siao Wang
  • , Zhen Dong*
  • , Hui Li
  • , Xin Peng
  • , Dongdong She
  • *Corresponding author for this work

Research output: Chapter in Book/Conference Proceeding/ReportConference Paper published in a bookpeer-review

Abstract

Flight control programs are widely used in unmanned aerial vehicles (UAVs) to manage and maintain UAVs’ flying behaviors dynamically. These flight control programs include a PID control module that takes three user-configurable PID parameters: Proportional (P), Integral (I), and Derivative (D). Users can also adjust these PID parameters during flight to suit the needs of various flight tasks. However, flight control programs do not have sufficient safety checks on the user-provided PID parameters, leading to a severe vulnerability of UAV—input validation bug. It happens when the user misconfigures PID parameters and causes the UAV to enter a dangerous state, such as deviation from the expected path, loss of control, or even crash.
Prior works use random testing approaches like fuzzing to identify invalid PID parameters from user input. However, they are not effective in the three-dimensional search space of PID parameters. Meanwhile, each dynamic execution of the UAV test is very expensive, further affecting the performance of random testing.
In this work, we address the problem of PID parameter misconfiguration by combining the Routh-Hurwitz stability criterion with coordinate search, introducing a method called RouthSearch. Instead of identifying misconfigured PID parameters in an ad-hoc fashion, RouthSearch principledly determines valid ranges for three-dimensional PID parameters. We first leverage the Routh-Hurwitz Criterion to identify a theoretical PID parameter boundary. We then refine the boundary using an efficient coordinate search. The valid range of three-dimensional PID parameters determined by RouthSearch can filter out misconfigured PID parameters from users during flight and further help to discover logical bugs in popular flight control programs.
We evaluated RouthSearch across eight flight modes in two popular flight control programs, PX4 and ArduPilot. The results show that RouthSearch can determine the valid ranges of the three-dimensional PID parameters with an accuracy of 92. 0% when compared to the ground truth. In terms of the total number of misconfigured PID parameters, RouthSearch discovers 3,853 sets of PID misconfigurations within 48 hours, while the STOA work PGFuzz only discovers 449 sets of PID misconfigurations, significantly outperforming prior works by 8.58 times. Additionally, our method helps to detect three bugs in ArduPilot and PX4.
Original languageEnglish
Title of host publicationProceedings of the ACM on Software Engineering
Pages640-662
Number of pages23
Volume2
EditionISSTA
DOIs
Publication statusPublished - 22 Jun 2025
Event34th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2025) - Trondheim , Norway
Duration: 25 Jun 202528 Jun 2025

Publication series

NameProceedings of the ACM on Programming Languages
PublisherAssociation for Computing Machinery

Conference

Conference34th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2025)
Abbreviated titleISSTA 2025
Country/TerritoryNorway
CityTrondheim
Period25/06/2528/06/25

Keywords

  • UAV Testing
  • Misconfiguration
  • PID Control
  • Specification Inference

Fingerprint

Dive into the research topics of 'RouthSearch: Inferring PID Parameter Specification for Flight Control Program by Coordinate Search'. Together they form a unique fingerprint.

Cite this