@inproceedings{84bec90c6c56410cbb69ba5c8c23cc79,
title = "SA4U: Practical Static Analysis for Unit Type Error Detection",
abstract = "Unit type errors, where values with physical unit types (e.g., meters, hours) are used incorrectly in a computation, are common in today's unmanned aerial system (UAS) firmware. Recent studies show that unit type errors represent over 10\% of bugs in UAS firmware. Moreover, the consequences of unit type errors are severe. Over 30\% of unit type errors cause UAS crashes. This paper proposes SA4U: a practical system for detecting unit type errors in real-world UAS firmware. SA4U requires no modifications to firmware or developer annotations. It deduces the unit types of program variables by analyzing simulation traces and protocol definitions. SA4U uses the deduced unit types to identify when unit type errors occur. SA4U is effective: it identified 14 previously undetected bugs in two popular open-source firmware (ArduPilot \& PX4.)",
keywords = "abstract data type inference, physical unit mining, physical units",
author = "Max Taylor and Johnathon Aurand and Feng Qin and Xiaorui Wang and Brandon Henry and Xiangyu Zhang",
note = "Publisher Copyright: {\textcopyright} 2022 ACM.; 37th IEEE/ACM International Conference on Automated Software Engineering, ASE 2022 ; Conference date: 10-10-2022 Through 14-10-2022",
year = "2022",
month = sep,
day = "19",
doi = "10.1145/3551349.3556937",
language = "English",
series = "ACM International Conference Proceeding Series",
publisher = "Association for Computing Machinery",
editor = "Mario Aehnelt and Thomas Kirste",
booktitle = "37th IEEE/ACM International Conference on Automated Software Engineering, ASE 2022",
address = "United States",
}