Yohan Boichut
University of Orléans
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Yohan Boichut.
computer aided verification | 2005
Alessandro Armando; David A. Basin; Yohan Boichut; Yannick Chevalier; Luca Compagna; Jorge Cuellar; P. Hankes Drielsma; Pierre-Cyrille Héam; Olga Kouchnarenko; J. Mantovani; Sebastian Mödersheim; D. von Oheimb; Michaël Rusinowitch; J. Santiago; Mathieu Turuani; Luca Viganò; Laurent Vigneron
AVISPA is a push-button tool for the automated validation of Internet security-sensitive protocols and applications. It provides a modular and expressive formal language for specifying protocols and their security properties, and integrates different back-ends that implement a variety of state-of-the-art automatic analysis techniques. To the best of our knowledge, no other tool exhibits the same level of scope and robustness while enjoying the same performance and scalability.
rewriting techniques and applications | 2007
Yohan Boichut; Thomas Genet; Thomas Jensen; Luka Le Roux
This paper shows how to construct static analyzers using tree automata and rewriting techniques. Starting from a term rewriting system representing the operational semantics of the target programming language and given a program to analyze, we automatically construct an over-approximation of the set of reachable terms, i.e. of the program states that can be reached. The approach enables fast prototyping of static analyzers because modifying the analysis simply amounts to changing the set of rewrite rules defining the approximation. A salient feature of this approach is that the approximation is correct by construction and hence does not require an explicit correctness proof. To illustrate the framework proposed here on a realistic programming language we instantiate it with the Java Virtual Machine semantics and perform class analysis on Java bytecode programs.
rewriting techniques and applications | 2008
Yohan Boichut; Roméo Courbis; Pierre-Cyrille Héam; Olga Kouchnarenko
Term rewriting systems are now commonly used as a modeling language for programs or systems. On those rewriting based models, reachability analysis, i.e. proving or disproving that a given term is reachable from a set of input terms, provides an efficient verification technique. For disproving reachability (i.e. proving non reachability of a term) on non terminating and non confluent rewriting models, Knuth-Bendix completion and other usual rewriting techniques do not apply. Using the tree automaton completion technique, it has been shown that the non reachability of a term tcan be shown by computing an over-approximation of the set of reachable terms and prove that tis not in the over-approximation. However, when the term tis in the approximation, nothing can be said. In this paper, we improve this approach as follows: given a term t, we try to compute an over-approximation which does not contain tby using an approximation refinement that we propose. If the approximation refinement fails then tis a reachable term. This semi-algorithm has been prototyped in the Timbuk tool. We present some experiments with this prototype showing the interest of such an approach w.r.t. verification on rewriting models.
algebraic methodology and software technology | 2008
Emilie Balland; Yohan Boichut; Thomas Genet; Pierre-Etienne Moreau
Term Rewriting Systems (TRSs) are now commonly used as a modeling language for applications. In those rewriting based models, reachability analysis, i.e. proving or disproving that a given term is reachable from a set of input terms, provides an efficient verification technique. Using a tree automata completion technique, it has been shown that the non reachability of a term tcan be verified by computing an over-approximation of the set of reachable terms and proving that tis not in the over-approximation. Since the verification of real programs gives rise to rewrite models of significant size, efficient implementations of completion are essential. We present in this paper a TRS transformation preserving the reachability analysis by tree automata completion. This transformation makes the completion implementation based on rewriting techniques possible. Thus, the reduction of a term to a state by a tree automaton is fully handled by rewriting. This approach has been prototyped in Tom , a language extension which adds rewriting primitives to Java . The first experiments are very promising relative to the state-of-the-art tool Timbuk .
Electronic Notes in Theoretical Computer Science | 2009
Yohan Boichut; Pierre-Cyrille Héam; Olga Kouchnarenko
This paper extends a rewriting approximations-based theoretical framework in which the security problem - secrecy preservation against an active intruder - may be semi-decided through a reachability analysis. In a recent paper, we have shown how to semi-decide whether a security protocol using algebraic properties of cryptographic primitives is safe. In this paper, we investigate the dual - insecurity - problem: we explain how to semi-decide whether a protocol using cryptographic primitive algebraic properties is unsafe. This improvement offers us to draw automatically a complete diagnostic of a security protocol with an unbounded number of sessions. Furthermore, our approach is supported by the tool TA4SP successfully applied for analysing the NSPK-xor protocol and the Diffie-Hellman protocol.
international conference on formal engineering methods | 2012
Yohan Boichut; Benoît Boyer; Thomas Genet; Axel Legay
Tree Regular Model Checking (TRMC) is the name of a family of techniques for analyzing infinite-state systems in which states are represented by trees and sets of states by tree automata. The central problem is to decide whether a set of bad states belongs to the set of reachable states. An obstacle is that this set is in general neither regular nor computable in finite time. This paper proposes a new CounterExample Guided Abstraction Refinement (CEGAR) algorithm for TRMC. Our approach relies on a new equational-abstraction based completion algorithm to compute a regular overapproximation of the set of reachable states in finite time. This set is represented by
rewriting techniques and applications | 2013
Yohan Boichut; Jacques Chabin; Pierre Réty
\mathcal{R}_{/E}
language and automata theory and applications | 2015
Yohan Boichut; Jacques Chabin; Pierre Réty
-automata, a new extended tree automaton formalism whose structure can be exploited to detect and remove false positives in an efficient manner. Our approach has been implemented in TimbukCEGAR, a new toolset that is capable of analyzing Java programs by exploiting an elegant translation from the Java byte code to term rewriting systems. Experiments show that TimbukCEGAR outperforms existing CEGAR-based completion algorithms. Contrary to existing TRMC toolsets, the answers provided by TimbukCEGAR are certified by Coq, which means that they are formally proved correct.
International Journal of Foundations of Computer Science | 2009
Yohan Boichut; Roméo Courbis; Pierre-Cyrille Héam; Olga Kouchnarenko
Over-approximating the descendants (successors) of a initial set of terms by a rewrite system is used in verification. The success of such verification methods depends on the quality of the approximation. To get better approximations, we are going to use non-regular languages. We present a procedure that always terminates and that computes over-approximation of descendants, using synchronized tree-(tuple) languages expressed by logic programs.
international workshop on reachability problems | 2011
Yohan Boichut; Thi-Bich-Hanh Dao; Valérie Murat
To check a system, some verification techniques consider a set of terms \(I\) that represents the initial configurations of the system, and a rewrite system \(R\) that represents the system behavior. To check that no undesirable configuration is reached, they compute an over-approximation of the set of descendants (successors) issued from \(I\) by \(R\), expressed by a tree language. Their success highly depends on the quality of the approximation. Some techniques have been presented using regular tree languages, and more recently using non-regular languages to get better approximations: using context-free tree languages [16] on the one hand, using synchronized tree languages [2] on the other hand. In this paper, we merge these two approaches to get even better approximations: we compute an over-approximation of the descendants, using synchronized-context-free tree languages expressed by logic programs. We give several examples for which our procedure computes the descendants in an exact way, whereas the former techniques compute a strict over-approximation.