Method to Detect Floating-Point Absorption and Cancellation Phenomena in Software-Critical Design Models

  • Marcus Lopes Embraer S.A.
  • Ricardo França Embraer S.A.
  • Celso Hirata ITA
  • Luiz Dias ITA

Resumo


Airborne critical systems that use real numbers in their algorithms can be considerably affected by the floating-point discretized representation. This limitation in the representation is the cause of many problems already known while running software with floating-point variables such as loss of precision in arithmetic operations. This work presents a method for detecting floating-point absorption and cancellation phenomena using static analysis in software design models. Our method uses a range analysis tool that operates over SCADE model to propagate the range of the internal variables and, then, each addition and subtraction operation in the model is analyzed to check the occurrence of the floating-point absorption and cancellation phenomena. The results are presented in an HTML report containing absorption alerts and cancellations charts providing the number of canceled bits for each sub-range in order to permit better assessment of the impact of each detected cancellation. In order to validate the proposed method, we compare the results of our proposed method with the results obtained by an alternative validation method developed using the source code as input and the Frama-C EVA to propagate internal ranges. The method can be used as an early design analysis enabling the cheaper detection and treatment of floating-point anomalies.
Palavras-chave: Floating-point, static analysis, model-based development
Publicado
08/10/2018
LOPES, Marcus; FRANÇA, Ricardo; HIRATA, Celso; DIAS, Luiz. Method to Detect Floating-Point Absorption and Cancellation Phenomena in Software-Critical Design Models. In: LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 8. , 2018, Foz do Iguaçu. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 125-134.