Certifying a Tree Automata Completion Checker
Automated Reasoning
https://doi.org/10.1007/978-3-540-71070-7_43Abstract
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 analysers. 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 low level 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 Coq and its implementation is automatically extracted from its formal specification. Using extraction gives a checker that can be run independently of the Coq environment. A specific algorithm for tree automata inclusion checking have been defined so as to avoid the exponential blow up. The obtained checker is certified in Coq, independant of the implementation of completion, usable with any approximation performed during completion, small and fast. Some benchmarks are given to illustrate the efficiency of the tool.
References (24)
- A. Armando, D. Basin, Y. Boichut, Y. Chevalier, L. Compagna, J. Cuellar, P. Hankes Drielsma, P.-C. Héam, O. Kouchnarenko, J. Mantovani, S. Mödersheim, D. von Oheimb, M. Rusinowitch, J. Santos Santiago, M. Turuani, L. Viganò, and L. Vigneron. The AVISPA Tool for the automated validation of internet security INRIA protocols and applications. In K. Etessami and S. Rajamani, editors, 17th International Conference on Computer Aided Ver- ification, CAV'2005, volume 3576 of Lecture Notes in Computer Science, pages 281-285, Edinburgh, Scotland, 2005. Springer.
- Y. Bertot and P. Castéran. Interactive Theorem Proving and Program Development. Coq'Art: The Calculus of Inductive Con- structions. Texts in Theoretical Computer Science. Springer Ver- lag, 2004.
- G. Barthe and G. Dufay. A tool-assisted framework for certified bytecode verification. In FASE'04, volume 2984 of LNCS, pages 99-113. Springer, 2004.
- Y. Boichut, T. Genet, T. Jensen, and L. Leroux. Rewriting Ap- proximations for Fast Prototyping of Static Analyzers. In RTA, volume 4533 of LNCS, pages 48-62. Springer Verlag, 2007.
- Y. Boichut, P.-C. Héam, and O. Kouchnarenko. Automatic Ap- proximation for the Verification of Cryptographic Protocols. In Proc. AVIS'2004, joint to ETAPS'04, Barcelona (Spain), 2004.
- F. Besson, T. Jensen, and D. Pichardie. Proof-carrying code from certified abstract interpretation and fixpoint compression. Theor. Comput. Sci, 364(3):273-291, 2006.
- F. Baader and T. Nipkow. Term Rewriting and All That. Cam- bridge University Press, 1998. [CDG + 02] H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi. Tree automata techniques and appli- cations. http://www.grappa.univ-lille3.fr/tata/, 2002.
- D. Cachera, T. Jensen, P. Pichardie, and V. Rusu. Extracting a data flow analyser in constructive logic. Theor. Comput. Sci., 342(1):56-78, 2005.
- G. Feuillade, T. Genet, and V. Viet Triem Tong. Reachability Analysis over Term Rewriting Systems. JAR, 33 (3-4):341-383, 2004.
- Thomas Genet. Decidable approximations of sets of descendants and sets of normal forms (extended version). Technical Report RR-3325, INRIA, 1997.
- T. Genet. Decidable approximations of sets of descendants and sets of normal forms. In Proc. 9th RTA Conf., Tsukuba (Japan), volume 1379 of LNCS, pages 151-165. Springer-Verlag, 1998.
- T. Genet and F. Klay. Rewriting for Cryptographic Protocol Verification. In Proc. 17th CADE Conf., Pittsburgh (Pen., USA), volume 1831 of LNAI. Springer-Verlag, 2000.
- R. Gilleron and S. Tison. Regular tree languages and rewrite systems. Fundamenta Informaticae, 24:157-175, 1995.
- T. Genet, Y.-M. Tang-Talpin, and V. Viet Triem Tong. Ver- ification of Copy Protection Cryptographic Protocol using Ap- proximations of Term Rewriting Systems. In In Proceedings of Workshop on Issues in the Theory of Security, 2003.
- T. Genet and V. Viet Triem Tong. Timbuk 2.0 -a Tree Automata Library. IRISA / Université de Rennes 1, 2000. http://www.irisa.fr/lande/genet/timbuk/.
- G. Klein and T. Nipkow. Verified bytecode verifiers. TCS, 298, 2003.
- P. Letouzey and L. Théry. Formalizing stalmarck's algorithm in coq. In Proc. of TPHOL'00, volume 1869 of LNCS. Springer, 2000.
- X. Rival and Jean Goubault-Larrecq. Experiments with finite tree automata in coq. In Proc. of TPHOL'01, LNCS. Springer, 2001.
- T. Takai. A Verification Technique Using Term Rewriting Sys- tems and Abstract Interpretation. In Proc. 15th RTA Conf., Aachen (Germany), volume 3091 of LNCS, pages 119-133.
- R. Zunino and P. Degano. Handling exp, × (and timestamps) in protocol analysis. In Proc. of FOSSACS'06, volume 3921 of LNCS, pages 413-427. Springer, 2006.
- INRIA Unité de recherche INRIA Rennes IRISA, Campus universitaire de Beaulieu -35042 Rennes Cedex (France) Unité de recherche INRIA Futurs : Parc Club Orsay Université -ZAC des Vignes 4, rue Jacques Monod -91893 ORSAY Cedex (France)
- Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois -Campus scientifique 615, rue du Jardin Botanique -BP 101 -54602 Villers-lès-Nancy Cedex (France)
- Unité de recherche Rhône-Alpes : 655, avenue de l'Europe -38334 Montbonnot Saint-Ismier (France) Unité de recherche INRIA Rocquencourt : Domaine de Voluceau -Rocquencourt -BP 105 -78153 Le Chesnay Cedex (France) Unité de recherche INRIA Sophia Antipolis : 2004, route des Lucioles -BP 93 -06902 Sophia Antipolis Cedex (France)
- Éditeur INRIA -Domaine de Voluceau -Rocquencourt, BP 105 -78153 Le Chesnay Cedex (France)