Unbounded model-checking with interpolation for regular language constraints

  • Authors:
  • Graeme Gange;Jorge A. Navas;Peter J. Stuckey;Harald Søndergaard;Peter Schachte

  • Affiliations:
  • The University of Melbourne, Australia;The University of Melbourne, Australia;The University of Melbourne, Australia;The University of Melbourne, Australia;The University of Melbourne, Australia

  • Venue:
  • TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a decision procedure for the problem of, given a set of regular expressions R1, …, Rn, determining whether R=R1∩⋯∩Rn is empty. Our solver, revenant, finitely unrolls automata for R1, …, Rn, encoding each as a set of propositional constraints. If a SAT solver determines satisfiability then R is non-empty. Otherwise our solver uses unbounded model checking techniques to extract an interpolant from the bounded proof. This interpolant serves as an overapproximation of R. If the solver reaches a fixed-point with the constraints remaining unsatisfiable, it has proven R to be empty. Otherwise, it increases the unrolling depth and repeats. We compare revenant with other state-of-the-art string solvers. Evaluation suggests that it behaves better for constraints that express the intersection of sets of regular languages, a case of interest in the context of verification.