FLOC 2018: FEDERATED LOGIC CONFERENCE 2018
A Formally Verified Floating-Point Implementation of the Compact Position Reporting Algorithm

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: