An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types

Clark Barrett, Igor Shikanian, Cesare Tinelli

Research output: Contribution to journalArticle

Abstract

The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways. In this paper, we present a general algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework. Finally, we propose a new strategy and give experimental results showing that it performs well in practice.

Original languageEnglish (US)
Pages (from-to)23-37
Number of pages15
JournalElectronic Notes in Theoretical Computer Science
Volume174
Issue number8
DOIs
StatePublished - Jun 20 2007

Fingerprint

Decision Procedures
Fragment
Software Verification
Acoustic waves
Experimental Results
Modeling
Strategy

Keywords

  • decision procedures
  • recursive data types
  • satisfiability modulo theories
  • term algebras

ASJC Scopus subject areas

  • Computer Science (miscellaneous)

Cite this

An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types. / Barrett, Clark; Shikanian, Igor; Tinelli, Cesare.

In: Electronic Notes in Theoretical Computer Science, Vol. 174, No. 8, 20.06.2007, p. 23-37.

Research output: Contribution to journalArticle

Barrett, Clark ; Shikanian, Igor ; Tinelli, Cesare. / An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types. In: Electronic Notes in Theoretical Computer Science. 2007 ; Vol. 174, No. 8. pp. 23-37.
@article{e1538e28fe30405a953a31c88d71925d,
title = "An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types",
abstract = "The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways. In this paper, we present a general algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework. Finally, we propose a new strategy and give experimental results showing that it performs well in practice.",
keywords = "decision procedures, recursive data types, satisfiability modulo theories, term algebras",
author = "Clark Barrett and Igor Shikanian and Cesare Tinelli",
year = "2007",
month = "6",
day = "20",
doi = "10.1016/j.entcs.2006.11.037",
language = "English (US)",
volume = "174",
pages = "23--37",
journal = "Electronic Notes in Theoretical Computer Science",
issn = "1571-0661",
publisher = "Elsevier",
number = "8",

}

TY - JOUR

T1 - An Abstract Decision Procedure for Satisfiability in the Theory of Recursive Data Types

AU - Barrett, Clark

AU - Shikanian, Igor

AU - Tinelli, Cesare

PY - 2007/6/20

Y1 - 2007/6/20

N2 - The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways. In this paper, we present a general algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework. Finally, we propose a new strategy and give experimental results showing that it performs well in practice.

AB - The theory of recursive data types is a valuable modeling tool for software verification. In the past, decision procedures have been proposed for both the full theory and its universal fragment. However, previous work has been limited in various ways. In this paper, we present a general algorithm for the universal fragment. The algorithm is presented declaratively as a set of abstract rules which are terminating, sound, and complete. We show how other algorithms can be realized as strategies within our general framework. Finally, we propose a new strategy and give experimental results showing that it performs well in practice.

KW - decision procedures

KW - recursive data types

KW - satisfiability modulo theories

KW - term algebras

UR - http://www.scopus.com/inward/record.url?scp=34249903869&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=34249903869&partnerID=8YFLogxK

U2 - 10.1016/j.entcs.2006.11.037

DO - 10.1016/j.entcs.2006.11.037

M3 - Article

VL - 174

SP - 23

EP - 37

JO - Electronic Notes in Theoretical Computer Science

JF - Electronic Notes in Theoretical Computer Science

SN - 1571-0661

IS - 8

ER -