A Quest for Exactness: Program Transformation for Reliable Real Numbers

Abstract : This thesis presents an algorithm that eliminates square root and division operations in some straight-line programs used in embedded systems while preserving the semantics. Eliminating these two operations allows to avoid errors at runtime due to rounding. These errors can lead to a completely unexpected behavior from the program. This transformation respects the constraints of embedded systems, such as the need for the program to be executed in a fixed size memory. The transformation uses two fundamental algorithms developed in this thesis. The first one allows to eliminate square roots and divisions from Boolean expressions built with comparisons of arithmetic expressions. The second one is an algorithm that solves a particular anti-unification problem, that we call constrained anti-unification. This program transformation is defined and proven in the PVS proof assistant. It is also implemented as a strategy for this system. Con- strained anti-unification is also used to extend this transformation to programs containing functions. It allows to eliminate square roots and divisions from PVS specifications. Robustness of this method is highlighted by a major example: the elimination of square roots and divisions in a conflict detection algorithm used in aeronautics.
Document type :
Liste complète des métadonnées

Cited literature [76 references]  Display  Hide  Download

Contributor : Pierre Néron <>
Submitted on : Tuesday, March 18, 2014 - 5:04:02 PM
Last modification on : Friday, May 25, 2018 - 12:02:06 PM
Document(s) archivé(s) le : Thursday, June 19, 2014 - 2:43:55 PM


  • HAL Id : pastel-00960808, version 1



Pierre Neron. A Quest for Exactness: Program Transformation for Reliable Real Numbers. Logic in Computer Science [cs.LO]. Ecole Polytechnique X, 2013. English. ⟨pastel-00960808⟩



Record views


Files downloads