Certifying a Tree Automata Completion Checker

  • Authors:
  • Benoît Boyer;Thomas Genet;Thomas Jensen

  • Affiliations:
  • IRISA /Université de Rennes 1 / CNRS, Rennes Cedex F-35042;IRISA /Université de Rennes 1 / CNRS, Rennes Cedex F-35042;IRISA /Université de Rennes 1 / CNRS, Rennes Cedex F-35042

  • Venue:
  • IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Tree automata completion is a technique for the verification of infinite state systems. It has already been used for the verification of cryptographic protocols and the prototyping of Java static analyzers. However, as for many other verification techniques, the correctness of the associated tool becomes more and more difficult to guarantee. It is due to the size of the implementation that constantly grows and due to optimizations which are necessary to scale up the efficiency of the tool to verify real-size systems. In this paper, we define and develop a checker for tree automata produced by completion. The checker is defined using coqand its implementation is automatically extracted from its formal specification. Using extraction gives a checker that can be run independently of the coqenvironment. A specific algorithm for tree automata inclusion checking has been defined so as to avoid the exponential blow up. The obtained checker is certified in coq, independent of the implementation of completion, usable with any approximation performed during completion, small and fast. Some benchmarks are given to show how efficient the tool is.