Sound Runtime Assertion Checking for Memory Properties via Program Transformation - Archive ouverte HAL Accéder directement au contenu
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.

Dates et versions

Licence

Paternité

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.46. ⟨10.1145/3605951⟩. ⟨hal-04065774⟩

Collections

CEA INSA-CVL
46 Consultations
1 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More