Formalizing an Efficient Runtime Assertion Checker for an Arithmetic Language with Functions and Predicates - CEA - Commissariat à l’énergie atomique et aux énergies alternatives Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Formalizing an Efficient Runtime Assertion Checker for an Arithmetic Language with Functions and Predicates

Résumé

Runtime Assertion Checking (RAC) is a lightweight formal method that verifies formal code annotations, typically assertions, at runtime. The main RAC challenge consists in generating code that is both sound and efficient for checking expressive properties. In particular, checking formal arithmetic properties usually requires to use machine integer arithmetic to be efficient, but needs to rely on an exact yet slower arithmetic library to be sound. This paper formalizes an efficient RAC tool for arithmetic properties, which may include user-defined functions and predicates. Efficient code generation for these routines is based on specialization, allowing to generate efficient functions using machine arithmetic when possible, or slower functions relying on exact arithmetic, according to the calling context. This formalization is implemented in E-ACSL, a runtime assertion checker for C programs.

Domaines

Informatique
Fichier principal
Vignette du fichier
main.pdf (858.65 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

cea-04176678 , version 1 (03-08-2023)

Identifiants

Citer

Thibaut Benjamin, Julien Signoles. Formalizing an Efficient Runtime Assertion Checker for an Arithmetic Language with Functions and Predicates. SAC/SVT (Symposium on Applied Computing / Software Verification and Testing Track), Mar 2023, Tallinn, Estonia. https://doi.org/10.1145/3555776.3577617, ⟨10.1145/3555776.3577617⟩. ⟨cea-04176678⟩
16 Consultations
18 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More