Abstract regular (tree) model checking

  • Authors:
  • Ahmed Bouajjani;Peter Habermehl;Adam Rogalewicz;Tomáš Vojnar

  • Affiliations:
  • LIAFA, Université Paris Diderot—Paris 7/CNRS, Case 7014, 75205, Paris Cedex 13, France;LIAFA, Université Paris Diderot—Paris 7/CNRS, Case 7014, 75205, Paris Cedex 13, France;FIT, Brno University of Technology, Božetěchova 2, 61266, Brno, Czech Republic;FIT, Brno University of Technology, Božetěchova 2, 61266, Brno, Czech Republic

  • Venue:
  • International Journal on Software Tools for Technology Transfer (STTT) - Regular Model Checking
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Regular model checking is a generic technique for verification of infinite-state and/or parametrised systems which uses finite word automata or finite tree automata to finitely represent potentially infinite sets of reachable configurations of the systems being verified. The problems addressed by regular model checking are typically undecidable. In order to facilitate termination in as many cases as possible, acceleration is needed in the incremental computation of the set of reachable configurations in regular model checking. In this work, we describe how various incrementally refinable abstractions on finite (word and tree) automata can be used for this purpose. Moreover, the use of abstraction does not only increase chances of the technique to terminate, but it also significantly reduces the problem of an explosion in the number of states of the automata that are generated by regular model checking. We illustrate the efficiency of abstract regular (tree) model checking in verification of simple systems with various sources of infinity such as unbounded counters, queues, stacks, and parameters. We then show how abstract regular tree model checking can be used for verification of programs manipulating tree-like dynamic data structures. Even more complex data structures can be handled using a suitable tree-like encoding.