Sound runtime assertion checking for memory properties via program transformation - Archive ouverte HAL
Article Dans Une Revue Formal Aspects of Computing Année : 2024

Sound runtime assertion checking for memory properties via program transformation

Résumé

Runtime Assertion Checking (RAC) for expressive specification languages is a non-trivial verification task, that becomes even more complex for memory-related properties of imperative languages with dynamic memory allocation. It is important to ensure the soundness of RAC verdicts, in particular when RAC reports the absence of failures for execution traces. This paper presents a formalization of a program transformation technique for RAC of memory properties for a representative language with pointers and memory operations, including dynamic allocation and deallocation. The generated program instrumentation relies on an axiomatized observation memory model, which is essential to record and monitor memory-related properties. We prove the soundness of RAC verdicts with regard to the semantics of this language.
Fichier principal
Vignette du fichier
main.pdf (963.59 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04065774 , version 1 (17-05-2024)

Licence

Identifiants

Citer

Dara Ly, Nikolai Kosmatov, Frédéric Loulergue, Julien Signoles. Sound runtime assertion checking for memory properties via program transformation. Formal Aspects of Computing, 2024, 36 (1), pp.4:1-46. ⟨10.1145/3605951⟩. ⟨hal-04065774⟩
102 Consultations
19 Téléchargements

Altmetric

Partager

More