Lightweight Shape Analysis based on Physical Types - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2022

Lightweight Shape Analysis based on Physical Types

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Identifiants

  • HAL Id : hal-03538088 , version 1

Citer

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⟩
65 Consultations
188 Téléchargements

Partager

Gmail Facebook X LinkedIn More