Symbolic transformation of expressions in modular arithmetic - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2023

Symbolic transformation of expressions in modular arithmetic

Abstract

We present symbolic methods to improve the precision of static analyses of modular integer expressions based on Abstract Interpretation. Like similar symbolic methods, the idea is to simplify on-the-fly arithmetic expressions before they are given to abstract transfer functions of underlying abstract domains. When manipulating fixed-length integer data types, casts and overflows generally act like modulo computations which hinder the use of symbolic techniques. The goal of this article is to formalize how modulo operations can be safely eliminated by abstracting arbitrary arithmetic expressions into sum, product, or division of linear forms with integer coefficients, while simplifying them. We provide some rules to simplify arithmetic expressions that are involved in the computation of linear interpolations, while ensuring the soundness of the transformation. All these methods have been incorporated within the Astrée static analyzer that checks for the absence of run-time errors in embedded critical software, but also in an available toy abstract interpreter. The effects of our new abstract domain are then evaluated on several code excerpts from industrial code.
Fichier principal
Vignette du fichier
paper_5552.pdf (5.95 Mo) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04187086 , version 1 (24-08-2023)

Identifiers

  • HAL Id : hal-04187086 , version 1

Cite

Jérôme Boillot, Jérôme Feret. Symbolic transformation of expressions in modular arithmetic. Static Analysis: 30th International Symposium, SAS 2023, Oct 2023, Cascais, Portugal. ⟨hal-04187086⟩
134 View
47 Download

Share

Gmail Mastodon Facebook X LinkedIn More