Detail publikačního výsledku

Automata-based Verification of Programs with Tree Updates

IOSIF, R.; VOJNAR, T.; HABERMEHL, P.

Originální název

Automata-based Verification of Programs with Tree Updates

Anglický název

Automata-based Verification of Programs with Tree Updates

Druh

Článek recenzovaný mimo WoS a Scopus

Originální abstrakt

This paper, which is an extended version of a paper originally published at TACAS'06, describes an effective verification procedure for imperativeprograms that handle (balanced) tree-like data structures. Since theverification problem considered is undecidable, we appeal to aclassical semi-algorithmic approach in which the user has to providemanually the loop invariants in order to check the validity of Hoaretriples of the form {P}C{Q}, where P, Q are the sets of statescorresponding to the pre- and post-conditions, and C is the program tobe verified. We specify the sets of states (representing tree-likememory configurations) using  a special class of tree automatanamed Tree Automata with Size Constraints (TASC). The main advantage ofusing TASC in program specifications is that they recognize non-regularsets of tree languages such as the AVL trees, the  red-black trees,and in general, specifications involving arithmetic reasoning about thelengths (depths) of various (possibly all) paths in the tree. The classof TASC is closed under the operations of union, intersection andcomplement, and moreover, the emptiness problem is decidable, whichmakes it a practical verification tool. We validate our approachconsidering red-black trees and the insertion procedure, for which weverify that the output of the insertion algorithm is a balanced red-black tree, i.e. the longest path is at most twice as long as the shortest path.

Anglický abstrakt

This paper, which is an extended version of a paper originally published at TACAS'06, describes an effective verification procedure for imperativeprograms that handle (balanced) tree-like data structures. Since theverification problem considered is undecidable, we appeal to aclassical semi-algorithmic approach in which the user has to providemanually the loop invariants in order to check the validity of Hoaretriples of the form {P}C{Q}, where P, Q are the sets of statescorresponding to the pre- and post-conditions, and C is the program tobe verified. We specify the sets of states (representing tree-likememory configurations) using  a special class of tree automatanamed Tree Automata with Size Constraints (TASC). The main advantage ofusing TASC in program specifications is that they recognize non-regularsets of tree languages such as the AVL trees, the  red-black trees,and in general, specifications involving arithmetic reasoning about thelengths (depths) of various (possibly all) paths in the tree. The classof TASC is closed under the operations of union, intersection andcomplement, and moreover, the emptiness problem is decidable, whichmakes it a practical verification tool. We validate our approachconsidering red-black trees and the insertion procedure, for which weverify that the output of the insertion algorithm is a balanced red-black tree, i.e. the longest path is at most twice as long as the shortest path.

Klíčová slova

Formal verification, symbolic verification, programs handling balanced trees, theory of automata.

Klíčová slova v angličtině

Formal verification, symbolic verification, programs handling balanced trees, theory of automata.

Autoři

IOSIF, R.; VOJNAR, T.; HABERMEHL, P.

Rok RIV

2011

Vydáno

01.02.2010

ISSN

0001-5903

Periodikum

ACTA INFORMATICA

Svazek

47

Číslo

1

Stát

Spolková republika Německo

Strany od

1

Strany do

31

Strany počet

31

URL

BibTex

@article{BUT50539,
  author="Iosif {Radu} and Tomáš {Vojnar} and Peter {Habermehl}",
  title="Automata-based Verification of Programs with Tree Updates",
  journal="ACTA INFORMATICA",
  year="2010",
  volume="47",
  number="1",
  pages="1--31",
  issn="0001-5903",
  url="http://www.springerlink.com/content/l76231376151vx88/"
}