Multi-tape automata for automatic verification

Carlo A. Furia · 2012

This paper discusses how finite-state automata with multiple tapes can be used to construct decision procedures for fragments of first-order theories with interpreted functions and relations, useful in the verification of programs. There is a natural correspondence between automata accepting input on n> 1 tapes and predicates over n variables, but multi-tape automata that read input asynchronously on different tapes lack some closure properties—closed under intersection, in particular. The paper presents an algorithm for the intersection of multi-tape automata that may not terminate in general, and discusses simple sufficient conditions that guarantee termination. Based on these, a few non-trivial examples and a proof-ofconcept implementation demonstrate that the overall framework is applicable in practice to verify functional properties of programs. 1

Read the paper · More papers on PaperTik