Publication result detail

Compositional Shape Analysis with Shared Abduction and Biabductive Loop Acceleration

FLORIAN, S.; ROGALEWICZ, A.; VOJNAR, T.; ZULEGER, F.

Original Title

Compositional Shape Analysis with Shared Abduction and Biabductive Loop Acceleration

English Title

Compositional Shape Analysis with Shared Abduction and Biabductive Loop Acceleration

Type

Paper in proceedings (conference paper)

Original Abstract

Biabduction-based shape analysis is a compositional verification and analysis technique that can prove memory safety in the presence of complex, linked data structures. Despite its usefulness, several open problems persist for this kind of analysis; two of which we address in this paper. On the one hand, the original analysis is path-sensitive but cannot combine safety requirements for related branches. This causes the analysis to require additional soundness checks and increases the space for the analysis to become incomplete. We extend the underlying symbolic execution and propose a framework for shared abduction where a common pre-condition is maintained for related computation branches.On the other hand, prior proposals lift loop acceleration methods from forward analysis to biabduction analysis by applying them separately on the pre- and post-condition, which can lead to imprecise or even unsound acceleration results that do not form a loop invariant. In contrast, we propose biabductive loop acceleration, which explicitly constructs and checks candidate loop invariants. For this, we also introduce a novel heuristic called shape extrapolation. This heuristic takes advantage of locality in the handling of list-like data structures (which are the most common data structures found in low-level code) and jointly accelerates pre- and post-conditions by extrapolating the related shapes.In addition to making the analysis more precise, our techniques also make biabductive analysis more efficient since they are sound in just one analysis phase. In contrast, prior techniques always require two phases (as the first phase can produce contracts that are unsound and must hence be verified). We experimentally confirm that our techniques improve on prior techniques; both in terms of precision and runtime of the analysis.

English abstract

Biabduction-based shape analysis is a compositional verification and analysis technique that can prove memory safety in the presence of complex, linked data structures. Despite its usefulness, several open problems persist for this kind of analysis; two of which we address in this paper. On the one hand, the original analysis is path-sensitive but cannot combine safety requirements for related branches. This causes the analysis to require additional soundness checks and increases the space for the analysis to become incomplete. We extend the underlying symbolic execution and propose a framework for shared abduction where a common pre-condition is maintained for related computation branches.On the other hand, prior proposals lift loop acceleration methods from forward analysis to biabduction analysis by applying them separately on the pre- and post-condition, which can lead to imprecise or even unsound acceleration results that do not form a loop invariant. In contrast, we propose biabductive loop acceleration, which explicitly constructs and checks candidate loop invariants. For this, we also introduce a novel heuristic called shape extrapolation. This heuristic takes advantage of locality in the handling of list-like data structures (which are the most common data structures found in low-level code) and jointly accelerates pre- and post-conditions by extrapolating the related shapes.In addition to making the analysis more precise, our techniques also make biabductive analysis more efficient since they are sound in just one analysis phase. In contrast, prior techniques always require two phases (as the first phase can produce contracts that are unsound and must hence be verified). We experimentally confirm that our techniques improve on prior techniques; both in terms of precision and runtime of the analysis.

Keywords

shape analysis, biabduction

Key words in English

shape analysis, biabduction

Authors

FLORIAN, S.; ROGALEWICZ, A.; VOJNAR, T.; ZULEGER, F.

RIV year

2026

Released

01.05.2025

Publisher

Springer

ISBN

978-3-031-91121-7

Book

Programming Languages and Systems - 34th European Symposium on Programming, ESOP 2025

Periodical

Lecture Notes in Computer Science

State

Federal Republic of Germany

Pages from

230

Pages to

257

Pages count

28

URL

Full text in the Digital Library

BibTex

@inproceedings{BUT194217,
  author="{} and Adam {Rogalewicz} and Tomáš {Vojnar} and Florian {Zuleger}",
  title="Compositional Shape Analysis with Shared Abduction and Biabductive Loop Acceleration",
  booktitle="Programming Languages and Systems - 34th European Symposium on Programming, ESOP 2025",
  year="2025",
  journal="Lecture Notes in Computer Science",
  pages="230--257",
  publisher="Springer",
  doi="10.1007/978-3-031-91121-7\{_}10",
  isbn="978-3-031-91121-7",
  issn="0302-9743",
  url="https://link.springer.com/chapter/10.1007/978-3-031-91121-7_10"
}