Sound Runtime Assertion Checking for Memory Properties via Program Transformation - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Formal Aspects of Computing Year : 2023

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.
No file

Dates and versions

hal-04065774 , version 1 (12-04-2023)

Licence

Attribution

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, In press, ⟨10.1145/3605951⟩. ⟨hal-04065774⟩
30 View
0 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More