An Abstract Domain for Heap Commutativity (Extended Version)

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Pincus, Jared, Koskinen, Eric
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866912133673910272
author Pincus, Jared
Koskinen, Eric
author_facet Pincus, Jared
Koskinen, Eric
contents Commutativity of program code (i.e. the equivalence of two code fragments composed in alternate orders) is of ongoing interest in many settings such as program verification, scalable concurrency, and security analysis. While some have explored static analysis for code commutativity, few have specifically catered to heap-manipulating programs. We introduce an abstract domain in which commutativity synthesis or verification techniques can safely be performed on abstract mathematical models and, from those results, one can directly obtain commutativity conditions for concrete heap programs. This approach offloads challenges of concrete heap reasoning into the simpler abstract space. We show this reasoning supports framing and composition, and conclude with commutativity analysis of programs operating on example heap data structures. Our work has been mechanized in Coq and is available in the supplement.
format Preprint
id arxiv_https___arxiv_org_abs_2411_12857
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle An Abstract Domain for Heap Commutativity (Extended Version)
Pincus, Jared
Koskinen, Eric
Programming Languages
Logic in Computer Science
Commutativity of program code (i.e. the equivalence of two code fragments composed in alternate orders) is of ongoing interest in many settings such as program verification, scalable concurrency, and security analysis. While some have explored static analysis for code commutativity, few have specifically catered to heap-manipulating programs. We introduce an abstract domain in which commutativity synthesis or verification techniques can safely be performed on abstract mathematical models and, from those results, one can directly obtain commutativity conditions for concrete heap programs. This approach offloads challenges of concrete heap reasoning into the simpler abstract space. We show this reasoning supports framing and composition, and conclude with commutativity analysis of programs operating on example heap data structures. Our work has been mechanized in Coq and is available in the supplement.
title An Abstract Domain for Heap Commutativity (Extended Version)
topic Programming Languages
Logic in Computer Science
url https://arxiv.org/abs/2411.12857