Authors: Laura Titolo, Mariano Moscato, Cesar Munoz, Aaron Dutle and Francois Bobot
Paper Information
Title: | A Formally Verified Floating-Point Implementation of the Compact Position Reporting Algorithm |
Authors: | Laura Titolo, Mariano Moscato, Cesar Munoz, Aaron Dutle and Francois Bobot |
Proceedings: | FM FMComplete |
Editors: | Jan Peleska, Klaus Havelund and Bill Roscoe |
Keywords: | software verification, formal methods in practice, floating-point round-off errors, air traffic surveillance systems, PVS, Frama-C, Gappa |
Abstract: | ABSTRACT. The Automatic Dependent Surveillance-Broadcast (ADS-B) system allows aircraft to communicate their current state, including position and velocity information, to other aircraft in their vicinity and to ground stations. The Compact Position Reporting (CPR) algorithm is the ADS-B module responsible for the encoding and decoding of aircraft positions. CPR is highly sensitive to computer arithmetic since it heavily relies on functions that are intrinsically unstable such as floor and modulo. In this paper, a formally-verified double-precision floating-point implementation of the CPR algorithm is presented. The verification proceeds in three steps. First, an alternative version of CPR, which reduces the floating-point rounding error is proposed. Then, the Prototype Verification System (PVS) is used to formally prove that the ideal real-number counterpart of the improved algorithm is mathematically equivalent to the standard CPR definition. Finally, the static analyzer Frama-C is used to verify that the double-precision implementation of the improved algorithm is correct with respect to its operational requirement. The alternative algorithm is currently being considered for inclusion in the revised version of the ADS-B standards document as the reference implementation of the CPR algorithm. |
Pages: | 17 |
Talk: | Jul 16 17:30 (Session 115B) |
Paper: |