Conference Papers Year : 2022

Lightweight Shape Analysis based on Physical Types

Abstract

To understand and detect possible errors in programs manipulating memory, static analyses of various levels of precision have been introduced, yet it remains hard to capture both information about the byte-level layout and precise global structural invariants. Classical pointer analyses struggle with the latter, whereas advanced shape analyses incur a higher computational cost. In this paper, we propose a new memory analysis by abstract interpretation that summarizes the heap by means of a type invariant, using a novel kind of physical types, which express the byte-level layout of values in memory. In terms of precision and expressiveness, our abstraction aims at a middle point between typical pointer analyses and shape analyses, hence the lightweight shape analysis name. We pair this summarizing abstraction with a retained and staged points-to predicates abstraction which refines information about the memory regions that are in use, hereby allowing strong updates without introducing disjunctions. We show that this combination of abstractions suffices to verify spatial memory safety and non-trivial structural invariants in the presence of low-level constructs such as pointer arithmetic and dynamic memory allocation, on both C and binary code.
Fichier principal
Vignette du fichier
vmcai.pdf (484.24 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03538088 , version 1 (20-01-2022)

Identifiers

  • HAL Id : hal-03538088 , version 1

Cite

Olivier Nicole, Matthieu Lemerre, Xavier Rival. Lightweight Shape Analysis based on Physical Types. VMCAI 2022 - 23rd International Conference on Verification, Model Checking, and Abstract Interpretation, Jan 2022, Philadelphia, United States. ⟨hal-03538088⟩
92 View
226 Download

Share

More