Sound runtime assertion checking for memory properties via program transformation - Archive ouverte HAL
Journal Articles Formal Aspects of Computing Year : 2024

Sound runtime assertion checking for memory properties via program transformation

Abstract

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
Origin Files produced by the author(s)

Dates and versions

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

Licence

Identifiers

Cite

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⟩
100 View
15 Download

Altmetric

Share

More