Compositional Invariant Checking for Overlaid and Nested Linked Lists

We introduce a fragment of separation logic, called NOLL, for auto- mated reasoning about programs manipulating overlaid and nested linked lists, where overlaid means that the lists may share the same set of objects. The dis- tinguishing features of NOLL are: (1) it is parametrized by a set of user-defined predicates specifying nested linked list segments, (2) a "per-field" version of the separating conjunction allowing to share locations but not fields, and (3) it can express sharing constraints between list segments. We prove that checking the entailment between two NOLL formulas is co-NP complete. For this result, the decision procedure for entailment is based on a small model property. We also provide an effective procedure for checking entailment in NOLL, which first con- structs a Boolean abstraction of the two formulas, in order to infer all the implicit constraints, and then, it checks the existence of a homomorphism between the two formulas, viewed as graphs. We have implemented this procedure and ap- plied it on verification conditions generated from several interesting case studies that manipulate overlaid and nested data structures.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/hal-00768389
Author Enea, Constantin, Saveluc, Vlad, Sighireanu, Mihaela
Maintainer CCSD
Last Updated May 29, 2026, 15:07 (UTC)
Created May 29, 2026, 15:07 (UTC)
Identifier hal-00768389
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Laboratoire d'informatique Algorithmique : Fondements et Applications (LIAFA) ; Université Paris Diderot - Paris 7 (UPD7)-Centre National de la Recherche Scientifique (CNRS)
creator Enea, Constantin
date 2012-10-12T00:00:00
harvest_object_id a2ee8159-efc9-4bd1-893d-cf0b32a61899
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2023-03-24T00:00:00
set_spec type:REPORT