SA4U: Practical Static Analysis for Unit Type Error Detection

10/17/2022
by   Max Taylor, et al.
0

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 severe. Over 30 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.)

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/17/2018

Physical-type correctness in scientific Python

The representation of units and dimensions in informatics systems is bar...
research
08/28/2020

Effectiveness of Annotation-Based Static Type Inference

Benefits of static type systems are well-known: they offer guarantees th...
research
10/17/2017

EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++

Low-level programming languages such as C and C++ are vulnerable to erro...
research
04/06/2020

Typilus: Neural Type Hints

Type inference over partial contexts in dynamically typed languages is c...
research
03/17/2023

ChameleonIDE: Untangling Type Errors Through Interactive Visualization and Exploration

Dynamically typed programming languages are popular in education and the...
research
05/10/2023

Integrated Access and Backhaul in 5G with Aerial Distributed Unit using OpenAirInterface

In this work, we demonstrate the Integrated Access and Backhaul (IAB) ca...
research
07/07/2021

SinSpell: A Comprehensive Spelling Checker for Sinhala

We have built SinSpell, a comprehensive spelling checker for the Sinhala...

Please sign up or login with your details

Forgot password? Click here to reset