Symbolic transformation of expressions in modular arithmetic - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Symbolic transformation of expressions in modular arithmetic

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Identifiants

  • HAL Id : hal-04187086 , version 1

Citer

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⟩
127 Consultations
40 Téléchargements

Partager

Gmail Facebook X LinkedIn More