Like any software, manned-aircraft flight management systems and unmanned aerial system autopilots contain bugs. A large portion of bugs in autopilots are semantic bugs, where the autopilot does not behave according to the expectations of the programmer. A bug detector is constructed to detect semantic bugs for autopilot software. It is hypothesized that semantic bugs can be detected by monitoring a set of relevant variables internal to the autopilot. This paper formulates the problem of identifying these variables as an optimization problem aimed at minimizing the overhead for online bug detection. However, because the optimization problem is computationally prohibitive to solve directly, graph-based software models are used to identify a suboptimal solution. In analyzing real and injected bugs within a particular block of code (a program slice), our proof-of-concept approach resulted in a model using only 20% of the variables in the slice to detect real and synthetic bugs with a specificity of 95% and a sensitivity of at least 60% for all bugs tested (and 90% or higher for many of them).
Detecting Semantic Bugs in Autopilot Software by Classifying Anomalous Variables
Journal of Aerospace Information Systems ; 17 , 4 ; 204-213
2020-03-13
10 pages
Aufsatz (Zeitschrift)
Elektronische Ressource
Englisch
Classifying bugs is a tricky business
NTRS | 1982
|Software tools for nonlinear missile autopilot design
AIAA | 1999
|Engineering Index Backfile | 1935
|