---
_id: '4378'
abstract:
- lang: eng
text: 'Techniques such as verification condition generation, predicate abstraction,
and expressive type systems reduce software verification to proving formulas in
expressive logics. Programs and their specifications often make use of data structures
such as sets, multisets, algebraic data types, or graphs. Consequently, formulas
generated from verification also involve such data structures. To automate the
proofs of such formulas we propose a logic (a “calculus”) of such data structures.
We build the calculus by starting from decidable logics of individual data structures,
and connecting them through functions and sets, in ways that go beyond the frameworks
such as Nelson-Oppen. The result are new decidable logics that can simultaneously
specify properties of different kinds of data structures and overcome the limitations
of the individual logics. Several of our decidable logics include abstraction
functions that map a data structure into its more abstract view (a tree into a
multiset, a multiset into a set), into a numerical quantity (the size or the height),
or into the truth value of a candidate data structure invariant (sortedness, or
the heap property). For algebraic data types, we identify an asymptotic many-to-one
condition on the abstraction function that guarantees the existence of a decision
procedure. In addition to the combination based on abstraction functions, we can
combine multiple data structure theories if they all reduce to the same data structure
logic. As an instance of this approach, we describe a decidable logic whose formulas
are propositional combinations of formulas in: weak monadic second-order logic
of two successors, two-variable logic with counting, multiset algebra with Presburger
arithmetic, the Bernays-Schönfinkel-Ramsey class of first-order logic, and the
logic of algebraic data types with the set content function. The subformulas in
this combination can share common variables that refer to sets of objects along
with the common set algebra operations. Such sound and complete combination is
possible because the relations on sets definable in the component logics are all
expressible in Boolean Algebra with Presburger Arithmetic. Presburger arithmetic
and its new extensions play an important role in our decidability results. In
several cases, when we combine logics that belong to NP, we can prove the satisfiability
for the combined logic is still in NP.'
alternative_title:
- LNCS
author:
- first_name: Viktor
full_name: Kuncak, Viktor
last_name: Kuncak
- first_name: Ruzica
full_name: Piskac, Ruzica
last_name: Piskac
- first_name: Philippe
full_name: Suter, Philippe
last_name: Suter
- first_name: Thomas
full_name: Wies, Thomas
id: 447BFB88-F248-11E8-B48F-1D18A9856A87
last_name: Wies
citation:
ama: 'Kuncak V, Piskac R, Suter P, Wies T. Building a calculus of data structures.
In: Barthe G, Hermenegildo M, eds. Vol 5944. Springer; 2010:26-44. doi:10.1007/978-3-642-11319-2_6'
apa: 'Kuncak, V., Piskac, R., Suter, P., & Wies, T. (2010). Building a calculus
of data structures. In G. Barthe & M. Hermenegildo (Eds.) (Vol. 5944, pp.
26–44). Presented at the VMCAI: Verification, Model Checking and Abstract Interpretation,
Madrid, Spain: Springer. https://doi.org/10.1007/978-3-642-11319-2_6'
chicago: Kuncak, Viktor, Ruzica Piskac, Philippe Suter, and Thomas Wies. “Building
a Calculus of Data Structures.” edited by Gilles Barthe and Manuel Hermenegildo,
5944:26–44. Springer, 2010. https://doi.org/10.1007/978-3-642-11319-2_6.
ieee: 'V. Kuncak, R. Piskac, P. Suter, and T. Wies, “Building a calculus of data
structures,” presented at the VMCAI: Verification, Model Checking and Abstract
Interpretation, Madrid, Spain, 2010, vol. 5944, pp. 26–44.'
ista: 'Kuncak V, Piskac R, Suter P, Wies T. 2010. Building a calculus of data structures.
VMCAI: Verification, Model Checking and Abstract Interpretation, LNCS, vol. 5944.
26–44.'
mla: Kuncak, Viktor, et al. *Building a Calculus of Data Structures*. Edited
by Gilles Barthe and Manuel Hermenegildo, vol. 5944, Springer, 2010, pp. 26–44,
doi:10.1007/978-3-642-11319-2_6.
short: V. Kuncak, R. Piskac, P. Suter, T. Wies, in:, G. Barthe, M. Hermenegildo
(Eds.), Springer, 2010, pp. 26–44.
conference:
end_date: 2010-01-19
location: Madrid, Spain
name: 'VMCAI: Verification, Model Checking and Abstract Interpretation'
start_date: 2010-01-17
date_created: 2018-12-11T12:08:33Z
date_published: 2010-01-01T00:00:00Z
date_updated: 2019-08-02T12:38:27Z
day: '01'
department:
- _id: ToHe
doi: 10.1007/978-3-642-11319-2_6
editor:
- first_name: Gilles
full_name: Barthe, Gilles
last_name: Barthe
- first_name: Manuel
full_name: Hermenegildo, Manuel
last_name: Hermenegildo
intvolume: ' 5944'
language:
- iso: eng
main_file_link:
- open_access: '1'
url: https://infoscience.epfl.ch/record/161290/
month: '01'
oa: 1
oa_version: Submitted Version
page: 26 - 44
publication_status: published
publisher: Springer
publist_id: '1081'
quality_controlled: '1'
status: public
title: Building a calculus of data structures
type: conference
user_id: 4435EBFC-F248-11E8-B48F-1D18A9856A87
volume: 5944
year: '2010'
...