Spelling suggestions: "subject:"l'écriture dde termes"" "subject:"l'écriture dee termes""
1 |
Call by need computations in orthogonal term rewriting systemsDurand, Irène 01 July 2005 (has links) (PDF)
Ce document décrit mon travail de recherche et programmation en informatique effectué entre 1990 et 2005.<br />Tout ce travail s'inscrit dans le cadre des systèmes de réécriture de termes et des stratégies "appel-par-valeur". Il est à la fois théorique et pratique; la plupart des notions et algorithmes étudiés ont été implémenté dans le logiciel Autowrite.<br /><br />Ce document est une opportunité de présenter tous nos travaux dans ce domaine (publiés ou non) dans un cadre uniforme.<br />Du fait de la non limitation du nombre de pages, cette présentation contient plus de détails et d'exemples qu'on ne peut généralement en donner dans une publication classique.
|
2 |
Etude de la stratégie de réécriture de termes k-bornée / Study of the k-bounded term rewriting strategySylvestre, Marc 01 October 2014 (has links)
Nous introduisons la stratégie de réécriture de termes k-bornée (bo(k), pour k entier) pour les systèmes linéaires. Cette stratégie est associée à une classe de systèmes dits k-bornés LBO(k). Nous démontrons que les systèmes de la classe LBO (union des LBO(k) pour tous les k), inversent-préservent la reconnaissabilité. Nous montrons que les différents problèmes de terminaison et d'inverse-terminaison pour la stratégie bo(k) sont décidables et utilisons ce résultat pour démontrer la décidabilité de ces problèmes pour des sous-classes de LBO: les classes de systèmes linéaires fortement k-bornés: LFBO(k). La classe LFBO (union des LFBO(k)) inclut strictement de nombreuses classes de systèmes connues: les systèmes inverses basiques à gauche, linéaires growing, et linéaires inverses Finite-Path-Overlapping. Le problème de l'appartenance à LFBO(k) est décidable alors qu'il ne l'est pas pour LBO(0). Pour les mots, nous prouvons que la stratégie bo(k) préserve l'algébricité. Nous étendons la notion de réécriture k-bornée aux systèmes de réécriture de termes linéaires à gauche. Comme dans le cas linéaire, nous associons à cette stratégie la classe des systèmes linéaires à gauche k-bornés BO(k) qui étend la classe LBO(k). Nous démontrons que les systèmes de cette classe inverse-préservent la reconnaissabilité.Comme dans le cas linéaire, nous définissons ensuite la classe des systèmes fortement kbornés FBO(k), qui étend la classe LFBO(k). Nous montrons que le problème de l'appartenance à FBO(k) est décidable. La classe FBO contient strictement la classe des systèmes growing linéaires à gauche. / We introduce k-bounded term rewriting for linear systems (bo(k), for k integer). This strategy is associated with the class of k-bounded systems LBO(k). We show that the systems in the class LBO (union of the LBO(k) for all k), inverse-preserve recognizability. We show that the problems of termination and inverse-termination for the bo(k) strategy are decidable and use this result to show the decidability of these two problems for subclasses of LBO: the classes of linear systems strongly k-bounded: LFBO(k). The class LFBO (union of the LFBO(k)) includes strictly many known classes: the inverse left-basic systems, the linear growing systems, the linear inverse Finite-Path-Overlapping systems. Membership to LFBO(k) is decidable but this is not hte case for LBO(0). For words, we show that the bo(k) strategy preserves algebricity. We extend k-bounded rewriting to left-linear systems. As in the linear case, we associate a class of systems to the strategy: the class of left-linear kbounded systems BO(k) which extends LBO(k). We show that the systems in BO(k) inversepreserve recognizability. As in the linear case, we define the class of strongly k-bounded systems FBO(k), which extends LFBO(k). Membership to FBO(k) is proved decidable. The FBO class contains stricly the class of left-linear growing systems.
|
3 |
Call by need computations in orthogonal term rewriting systemsDurand, Irène 01 July 2005 (has links) (PDF)
The foundation of term rewriting is equational logic but for the sake of efficiency, the equations are oriented and become the rules of a term rewriting system. Term rewriting form a model of computation on algebraic data structures (terms). Term rewriting systems play an important role in various domains of computer science such as automated theorem proving, functional programming, code generation, problem formalization (security of cryptographic protocols). Rewriting starts with a ground term, and consists of repeatedly replacing a redex (an instance of a left-hand side) by its contractum (the corresponding right-handside after applying the substitution). Rewriting may eventually yield a term in normal form which is a term containing no redex. Natural questions in term rewriting are: * is the system terminating" (i.e. there are no infinite rewrite sequences)? * "is the system confluent" (if a term rewrites independently to two terms t1 and t2 , there exists a term s such that both t1 and t2 rewrite to s)? We are interested in systems which can be used as programs so we want to allow non-terminating computations. Confluence implies unicity of normal forms but does not imply termination. Confluent systems form a good framework for deterministic programming. They have the power of Turing machines. However confluence is not a decidable property for term rewriting systems. Orthogonal systems (i.e. linear and non-overlapping left-hand sides) which are always confluent form the framework of all this work, although some results may apply to the more general class of left-linear systems (linear left-hand sides). The first point we want to address is "how to compute the normal form?" and not end up in an infinite computation when the normal form exists. The second is "how to do that efficiently?". The following theorem of Huet and Levy [HL91] forms the basis of all result on optimal normalizing rewrite strategies for orthogonal term rewrite systems: "Every reducible term contains a needed redex, i.e., a redex which is contracted in every rewrite sequence to normal form, and repeated contraction of needed redexes results in a normal form, if the term under consideration has a normal form". Unfortunately, needed redexes are not computable in general. Hence, in order to obtain a computable optimal rewrite strategy, we are left to find (1) decidable approximations of neededness and (2) decidable properties of rewrite systems which ensure that every reducible term has a needed redex identi-fied by (1). Starting with the seminal work of Huet and Levy [HL91] on strong sequentiality, these issues have been extensively investigated in the literature [Com00, Jac96b, JS95, KM91, NST95, Oya93, Toy92]. In all these works Huet and Levy's notions of index, omega-reduction, and sequentiality figure prominently. We present here our contributions to this domain.
|
4 |
Présentations d'opérades et systèmes de réécritureGuiraud, Yves 28 June 2004 (has links) (PDF)
Cette thèse étudie les propriétés calculatoires des présentations d'opérades, ou systèmes de réécriture de diagrammes de Penrose, et leurs liens avec divers types de systèmes de réécriture classiques. Grâce à des nouveaux critères pour la terminaison et la confluence, on démontre la conjecture sur la convergence de la présentation L(Z2) des Z/2Z-espaces vectoriels, une théorie équationnelle commutative. On montre que les présentations d'opérades sont des généralisations des systèmes de réécriture de mots et des réseaux de Petri et qu'elles fournissent un calcul de gestion explicite des ressources pour les systèmes de réécriture de termes linéaires à gauche. Enfin, on étudie les obstructions à ce même résultat concernant le lambda-calcul. Des annexes présentent les liens entre les opérades et d'autres structures de l'algèbre universelle, ainsi qu'un calcul de substitutions explicites.
|
5 |
Preuve par induction dans le calcul des séquents moduloNahon, Fabrice 25 October 2007 (has links) (PDF)
Nous présentons une méthode originale de recherche de preuve par récurrence utilisant la surréduction. Elle a la particularité d'être fondée sur la déduction modulo et d'utiliser la surréduction pour sélectionner à la fois les variables de récurrence et les schémas d'instanciation. Elle donne également la possibilité de traduire directement toute dérivation effectuée avec succès en une preuve dans le calcul des séquents modulo. La correction et la complétude réfutationnelle de la méthode sont démontrées en théorie de la preuve. Nous étendons ensuite cette première approche aux théories de réécriture équationnelles constituées d'un système de réécriture R et d'un ensemble E d'égalités. A partir du moment où le système de réécriture équationnel (R,E) possède de bonnes propriétés de terminaison et de complétude suffisante, et si on suppose également que E préserve les constructeurs, la surréduction au niveau des positions les plus profondes où apparaît un symbole défini s'effectue uniquement à l'aide d'unificateurs qui sont également des substitutions constructeurs. Ceci est particulièrement intéressant dans le cas des théories associatives, ou associatives commutatives, pour lesquelles notre système de recherche de preuve a été raffiné.
|
6 |
Analyse de programmes malveillants par abstraction de comportements / Malware Analysis by Behavior AbstractionBeaucamps, Philippe 14 November 2011 (has links)
L’analyse comportementale traditionnelle opère en général au niveau de l’implantation de comportements malveillants. Pourtant, elle s’intéresse surtout à l’identification de fonctionnalités données et elle se situe donc plus naturellement à un niveau fonctionnel. Dans cette thèse, nous définissons une forme d’analyse comportementale de programmes qui opère non pas sur les interactions élémentaires d’un programme avec le système mais sur la fonction que le programme réalise. Cette fonction est extraite des traces d’un pro- gramme, un procédé que nous appelons abstraction. Nous définissons de façon simple, intuitive et formelle les fonctionnalités de base à abstraire et les comportements à détecter, puis nous proposons un mécanisme d’abstraction applicable à un cadre d’analyse statique ou dynamique, avec des algorithmes pratiques à complexité raisonnable, enfin nous décrivons une technique d’analyse comportementale intégrant ce mécanisme d’abstraction. Notre méthode est particulièrement adaptée à l’analyse des programmes dans des langages de haut niveau ou dont le code source est connu, pour lesquels l’analyse statique est facilitée : applications mobiles en .NET ou Java, scripts, extensions de navigateurs, composants off-the-shelf.Le formalisme d’analyse comportementale par abstraction que nous proposons repose sur la théorie de la réécriture de mots et de termes, les langages réguliers de mots et de termes et le model checking. Il permet d’identifier efficacement des fonctionnalités dans des traces et ainsi d’obtenir une représentation des traces à un niveau fonctionnel; il définit les fonctionnalités et les comportements de façon naturelle, à l’aide de formules de logique temporelle, ce qui garantit leur simplicité et leur flexibilité et permet l’utilisation de techniques de model checking pour la détection de ces comportements ; il opère sur un ensemble quelconque de traces d’exécution ; il prend en compte le flux de données dans les traces d’exécution; et il permet, sans perte d’efficacité, de tenir compte de l’incertitude dans l’identification des fonctionnalités. Un cadre d’expérimentation a été mis en place dans un contexte d’analyse dynamique comme statique / Traditional behavior analysis usually operates at the implementation level of malicious behaviors. Yet, it is mostly concerned with the identification of given functionalities and is therefore more naturally defined at a functional level. In this thesis, we define a form of program behavior analysis which operates on the function realized by a program rather than on its elementary interactions with the system. This function is extracted from program traces, a process we call abstraction. We define in a simple, intuitive and formal way the basic functionalities to abstract and the behaviors to detect, then we propose an abstraction mechanism applicable both to a static or to a dynamic analysis setting, with practical algorithms of reasonable complexity, finally we describe a behavior analysis technique integrating this abstraction mechanism. Our method is particularly suited to the analysis of programs written in high level languages or with a known source code, for which static analysis is facilitated: mobile applications for .NET or Java, scripts, browser addons, off-the-shelf components.The formalism we propose for behavior analysis by abstraction relies on the theory of string and terms rewriting, word and tree languages and model checking. It allows an efficient identification of functionalities in traces and thus the construction of a represen- tation of traces at a functional level; it defines functionalities and behaviors in a natural way, using temporal logic formulas, which assure their simplicity and their flexibility and enables the use of model checking techniques for behavior detection; it operates on an unrestricted set of execution traces; it handles the data flow in execution traces; and it allows the consideration of uncertainty in the identification of functionalities, with no complexity overhead. Experiments have been conducted in a dynamic and static analysis setting
|
Page generated in 0.0669 seconds