«Specification and Abstraction of Semantics» 1. Souvenir, Souvenir. Neil D. Jones. Contents. A Tribute Workshop and Festival to Honor Neil D.
|
|
- Derek Lyons
- 5 years ago
- Views:
Transcription
1 «Specification and Abstraction of Semantics» Patrick Cousot Radhia Cousot École normale supérieure CNRS & École polytechnique 45 rue d Ulm Route de Saclay 7530 Paris cedex 05, France 9118 Palaiseau Cedex, France Patrick.Cousot@ens.fr Radhia.Cousot@polytechnique.fr Contents Souvenir, Souvenir... 3 Specification and abstraction of semantics Motivation... 9 Bi-inductive structural definitions Example: semantics of the eager -calculus Abstraction Conclusion A Tribute Workshop and Festival to Honor Neil D. Jones Datalogisk Institut, Københavns Universitet, København, Denmark 5 6 August, 007 Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, 007 ľ P. Cousot & R. Cousot Neil D. Jones 1. Souvenir, Souvenir An explorer of automatic semantics-based program manipulation Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
2 A Long Common Professional Interest and Collaboration Semantique I; Semantique II; Atlantique; Daedalus; Many more shared events Århus workshop in 81,... POPL 97 in Paris,... POPL 04 in Venice... Decision to start Astrée... VMCAI 009 Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Happy Souvenirs. Specification and abstraction of semantics Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
3 Motivation Motivation We look for a formalism to specify abstract program semantics from definitional semantics... to static program analysis algorithms - coping with termination & non-termination, - handling the many dierent styles of presentations found in the literature (rules, fixpoint, equations, constraints,... ) in a uniform way A simple generalization of inductive definitions from sets to posets seems adequate. Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot On the importance of defining both finite and infinite behaviors Example of the choice operator E 1 j E where: E 1 =) a E =) b termination or E 1 =)?E =)? non-termination Thefinite behavior of E 1 j E is: a j b =) a a j b =) b : But for the case?j?=)?, the infinite behaviors of E 1 j E depend on the choice method: Non-deter- Parallel Eager Mixed left- Mixed rightministic to-right to-left?jb =) b?jb =) b?jb =) b?jb =)??jb =)??jb =)??jb =)? a j?=) a a j?=) a a j?=) a a j?=)? a j?=)? a j?=)? a j?=)? Nondeterministic: an internal choice is made initially to evaluate E 1 or to evaluate E ; Parallel: evaluate E 1 and E concurrently, with an unspecified scheduling, and return the first available result a or b; Mixed left-to-right: evaluate E 1 and then either return its result a or evaluate E and return its result b; Mixed right-to-left: evaluate E and then either return its result b or evaluate E 1 and return its result a; Eager: evaluate both E 1 and E and return either results if both terminate. Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
4 Inductive definitions Bi-inductive Structural Definitions Over-simplified for the presentation! Set-theoretic [Acz77] Order-theoretic h}(u); i hd; vi universe P c R (P }(U);cU) P R (P; C D) rules C n F (X), c 9 P o c R: P X F (X), G nc 9 P o c R: P v X transformer lfp F }(U) lfp v F D fixpoint def. `least X : F (X) =X v`least X : F (X) =X equational def. `least X : F (X) X v`least X : F (X) v X constraint def. n X o n X o X U^c F (X) X D c F (X) rules Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Inductive definitions Set-theoretic [Acz77] Order-theoretic h}(u); i hd; vi universe P c R (P }(U);cU) P R (P; C D) rules C n F (X), c 9 P o c R: P X F (X), G nc 9 P o c R: P v X transformer Semantics of the Eager -calculus lfp F }(U) lfp v F D fixpoint def. `least X : F (X) =X v`least X : F (X) =X equational def. `least X : F (X) X v`least X : F (X) v X constraint def. n X o n X o X U^c F (X) X D c F (X) rules Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
5 Syntax of the Eager -calculus Syntax x; y; z;::: X variables c C constants (X \ C =?) c ::= 0 j 1 j ::: v V v ::= c j λ x. a values e E errors e ::= cajea a; a 0 ; a 1 ;:::;b;;::: T terms a ::= x j v j aa 0 Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Example I: Finite Computation Trace Semantics function argument ((λ x. xx) (λ y. y)) ((λ z. z)0)! evaluate function ((λ y. y) (λ y. y)) ((λ z. z)0)! evaluate function, cont d (λ y. y) ((λ z. z) 0)! evaluate argument (λ y. y) 0! apply function to argument 0 a value! Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
6 Example II: Infinite Computation function argument (λ x. xx) (λ x. xx)! apply function to argument (λ x. xx) (λ x. xx)! apply function to argument (λ x. xx) (λ x. xx)! apply function to argument ::: non termination! Example III: Erroneous Computation function argument ((λ x. xx)((λ z. z) 0)) ((λ y. y)0)! evaluate argument ((λ x. xx)((λ z. z) 0)) 0! evaluate function ((λ x. xx) 0) 0! evaluate function, cont d (0 0) 0 a runtime error! Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, 007 ľ P. Cousot & R. Cousot Finite, Infinite and Erroneous Trace Semantics Traces s(t) Error T? (resp. T +, T!, T / and T 1 ) be the set of finite (resp. nonempty finite, infinite, finite or infinite, and nonempty finite or infinite) sequences of terms is the empty sequence = =. jj N [f!g is the length of T /. j j =0. If T + then jj > 0 and = 0 1 ::: jj`1. If T! then jj =! and = 0 ::: n ::: t Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
7 Operations on Traces (Cont d) Fora T and T 1,wedefinea@ to be 0 T 1 such that 8i <jj : i 0 = a i Operations on Traces (Cont d) Similarly for a T and T is 0 where 8i <jj : i 0 = i a = i... = i... a@ = a 0 a 1 a a 3... a = 0 a 1 a a 3 a... i a... Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Finite and Infinite Trace Semantics ~S The Computational Lattice Given S; T }(T 1 ), we define S +, S \ T + finite traces S!, S \ T! infinite traces S v T, S + T + ^ S! «T! computational order h}(t 1 ); v; T! ; T + ; t; ui is a complete lattice Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
8 Bifinitary Trace Semantics ~S of the Eager -calculus 1 a[x v] ~S v ~S; v V v; v V (λ x. a) v a[x v] ~S Fixpoint big-step maximal trace semantics The bifinitary trace semantics is ~S = lfp v ~F where ~F }(T 1 ) 7! }(T 1 ) is ~S! a@ ~S v; a V v ~S + ; (a v) 0 ~S (a@) (a v) 0 ~S v; v; a V ~F (S), fv T 1 j v Vg[ f(λ x. a) v a[x v] j v V ^ a[x v] Sg[ f@b j S! g[ f(@b) (v b) 0 j 6= ^ v S + ^ v V ^ (v b) 0 Sg[ fa@ j a V ^ S! g[ f(a@) (a v) 0 j a; v V ^ 6= ^ v S + ^ (a v) 0 Sg : ~S v v ~S + ; (v b) 0 ~S (@b) (v b) 0 ~S v; v V 1 Note: a[x b] is the capture-avoiding substitution of b for all free occurences of x within a. WeletFV(a) be the free variables of a. We define the call-by-value semantics of closed terms (without free variables) T, fa T j FV(a) =?g. Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Trace Semantics Relational Semantics Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
9 Relational Semantics = (Trace Semantics) Relational Semantics Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Abstraction to the Bifinitary Relational Semantics of the Eager -calculus remember the input/output behaviors, forget about the intermediate computation steps (T ) ( 0 1 ::: n ) ( 0 ::: n :::) def = f () j T g def = 0 =) n def = 0 =)? Bifinitary Relational Semantics of the Eager -calculus v =) v; v V a =)? ab=)? v b =)? v; a V ab=)? a[x v] =) r v; (λ x. a) v =) r v V; r V [f?g a =) v; vb=) r ab=) r v; v V; r V [f?g b =) v; av=) r ab=) r v; a V; v V; r V [f?g: Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
10 On the computational ordering v For the bifinitary trace semantics ~S, we could replace the computational ordering v by «(thus taking greatest fixpoints for ); Impossible for the bifinitary relational semantics! Counter-example: the greatest fixpoint starts by assuming that we have the terminating execution Natural Semantics (λ x. xx)(λ x. xx)=) (λ x. xx)(λ x. xx) a[x v] =) r then the call rule v; v V; r V [f?g will (λ x. a) v =) r preserve this invalid hypothesis! Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Natural Semantics = (Relational Semantics) Abstraction to the Natural Big-Step Semantics of the Eager -calculus remember the finite input/output behaviors, forget about non-termination (T ) def = [ f () j T g ( 0 =) n ) def = f 0 =) n g ( 0 =)?) def =? Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
11 Natural Big-Step Semantics of the Eager -calculus [Kah88] v =) v; v V a[x v] =) r ; v V; r V (λ x. a) v =) r a =) v; vb=) r ; v V; r V ab=) r Transition Semantics b =) v; ab=) r av=) r ; a V; v V; r V : Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot s(t) Transition Semantics = (Trace Semantics) Abstraction to the Transition Semantics of the Eager -calculus remember execution steps, forget about their sequencing (T ) def = [ f () j T g ( 0 1 ::: n ) def = f i `A i+1 j 0 6 i ^ i<ng Error t ( 0 ::: n :::) def = f i `A i+1 j i > 0g Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
12 Transition Semantics of the Eager -calculus [Plo81] Approximation ((λ x. a) v) `A a[x v] a 0 `A a 1 a 0 b `A a 1 b b 0 `A b 1 vb 0 `A vb 1 : ((λ x. xx)((λ z. z) 0)) (λ y. y)! ((λ x. xx) 0) (λ y. y)! (0 0) (λ y. y) an error! Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Abstraction Kleenian abstraction hd; v;?; ti, hd ] ; v ] ;? ] ; t ] i dcpos F D7! D, F ] D ] 7!D ] monotone D7! D ] strict and continuous on chains of D F = F ], commutation condition =) (lfp v F )=lfp v] F ] OK for abstracting finite behaviors, not infinite ones Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
13 Tarskian abstraction hd; v;?; ti, hd ] ; v ] ;? ] ; t ] i dcpos F D7! D, F ] D ] 7!D ] monotone D7! D ] preserves meets F ] v ] F, semi-commutation condition 8y D ] :(F ] (y) v ] y)=) (9x D: (x) =y ^ F (x) v x =) (lfp v F )=lfp v] F ] Conclusion OK for abstracting infinite behaviors, not finite ones ) abstract by parts. Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Conclusion Bothfinite and infinite semantics are needed in static analysis (such as strictness, [Myc80]), typing [Cou97, Ler06], etc; Such static analyzes must be proved correct with respect to a semantics chosen at an various level of abstraction (small-step/big-step trace/relational/natural semantics); Static analyzes use various equivalent presentations (fixpoints, equational, constraints and inference rules) The bifinite extension of SOS might satisfy these needs. THE END, THANK YOU Neil, for such a long friendship and cooperation Best wishes for your new constraintless research career Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
14 Bibliography [Acz77] P. Aczel. An introduction to inductive definitions. In J. Barwise, editor, Handbook of Mathematical Logic, volume90ofstudies in Logic and the Foundations of Mathematics, pages Elsevier, [Cou97] P. Cousot. Types as abstract interpretations, invited paper. In 4 th POPL, pages , Paris, FR, Jan ACM Press. [Kah88] G. Kahn. Natural semantics. In K. Fuchi and M. Nivat, editors, Programming of Future Generation Computers, pages Elsevier, [Ler06] X. Leroy. Coinductive big-step operational semantics. In P. Sestoft, editor, Proc. 15 th ESOP 006, Vienna, AT, LNCS 394, pages Springer, 7 8 Mar [Myc80] A. Mycroft. The theory and practice of transforming call-by-need into call-by-value. In B. Robinet, editor, Proc. 4 th Int. Symp. on Programming, Paris, FR, 4 Apr. 1980, LNCS 83, pages Springer, [Plo81] G.D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Aarhus University, DK, Sep Tribute to Neil, København, August 5 th, ľ P. Cousot & R. Cousot
Bi-inductive Structural Semantics
SOS 2007 Bi-inductive Structural Semantics (Extended Abstract) Patrick Cousot 1 Département d informatique, École normale supérieure, 45 rue d Ulm, 75230 Paris cedex 05, France Radhia Cousot 2 CNRS & École
More informationBASIC CONCEPTS OF ABSTRACT INTERPRETATION
BASIC CONCEPTS OF ABSTRACT INTERPRETATION Patrick Cousot École Normale Supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr Radhia Cousot CNRS & École Polytechnique 91128 Palaiseau
More informationBi-inductive Structural Semantics
Bi-inductive Structural Semantics Patrick Cousot Département d informatique, École normale supérieure, 45 rue d Ulm, 75230 Paris cedex 05, France Radhia Cousot CNRS & École polytechnique, 91128 Palaiseau
More information«ATutorialon Abstract Interpretation»
«ATutorialon Abstract Interpretation» Patrick Cousot École normale supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr www.di.ens.fr/~cousot VMCAI 05 Industrial Day VMCAI 05 Industrial
More informationStatic Program Analysis using Abstract Interpretation
Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible
More informationHigher-Order Chaotic Iteration Sequences
Higher-Order Chaotic Iteration Sequences Mads Rosendahl DIKU, University of Copenhagen Universitetsparken 1, DK-2100 Copenhagen Ø, Denmark E-mail rose@diku.dk 1993 Abstract Chaotic iteration sequences
More informationAbstraction in Program Analysis & Model Checking. Abstraction in Model Checking. Motivations & Results
On Completeness in Abstract Model Checking from the Viewpoint of Abstract Interpretation Abstraction in Program Analysis & Model Checking Abstract interpretation has been successfully applied in: static
More informationCours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel. Patrick Cousot.
Master Parisien de Recherche en Informatique École normale supérieure Année scolaire 2010/2011 Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel
More informationCoinductive big-step operational semantics
Coinductive big-step operational semantics Xavier Leroy a, Hervé Grall b a INRIA Paris-Rocquencourt Domaine de Voluceau, B.P. 105, 78153 Le Chesnay, France b École des Mines de Nantes La Chantrerie, 4,
More information«Basic Concepts of Abstract Interpretation»
«Basic Concepts of Abstract Interpretation» Patrick Cousot École normale supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr www.di.ens.fr/~cousot IFIP WCC Topical day on Abstract
More informationNotes on Abstract Interpretation
Notes on Abstract Interpretation Alexandru Sălcianu salcianu@mit.edu November 2001 1 Introduction This paper summarizes our view of the abstract interpretation field. It is based on the original abstract
More informationAbstract Interpretation and Static Analysis
/ 1 Abstract Interpretation and Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Welcome! / 2 / 3 Four parts 1. Introduction to static analysis what it is and how to apply
More informationDenotational semantics
Denotational semantics Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 4 4 March 2016 Course 4 Denotational semantics Antoine Miné p.
More informationDiscrete Fixpoint Approximation Methods in Program Static Analysis
Discrete Fixpoint Approximation Methods in Program Static Analysis P. Cousot Département de Mathématiques et Informatique École Normale Supérieure Paris
More informationSafety Analysis versus Type Inference for Partial Types
Safety Analysis versus Type Inference for Partial Types Jens Palsberg palsberg@daimi.aau.dk Michael I. Schwartzbach mis@daimi.aau.dk Computer Science Department, Aarhus University Ny Munkegade, DK-8000
More informationFoundations of Abstract Interpretation
Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections,
More informationIntroduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18
Introduction to Abstract Interpretation ECE 584 Sayan Mitra Lecture 18 References Patrick Cousot,RadhiaCousot:Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction
More informationPolynomial Precise Interval Analysis Revisited
Polynomial Precise Interval Analysis Revisited Thomas Gawlitza 1, Jérôme Leroux 2, Jan Reineke 3, Helmut Seidl 1, Grégoire Sutre 2, and Reinhard Wilhelm 3 1 TU München, Institut für Informatik, I2 80333
More informationOperational Semantics
Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical
More informationConstructive design of a hierarchy of semantics of a transition system by abstract interpretation
Theoretical Computer Science 277 (2002) 47 103 www.elsevier.com/locate/tcs Constructive design of a hierarchy of semantics of a transition system by abstract interpretation Patrick Cousot 1 Departement
More informationIntroduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004
Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004 KAT and Hoare Logic In this lecture and the next we show that KAT subsumes propositional Hoare logic (PHL). Thus the specialized
More informationPartial model checking via abstract interpretation
Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi
More information«Mathematical foundations: (6) Abstraction Part II» Exact fixpoint abstraction. Property transformer abstraction
«Mathematical foundations: (6) Abstraction Part II» Patrick Cousot Jerome C. Hunsaker Visiting Professor Massachusetts Instite of Technology Department of Aeronaics and Astronaics cousot mit edu www.mit.edu/~cousot
More informationA New Numerical Abstract Domain Based on Difference-Bound Matrices
A New Numerical Abstract Domain Based on Difference-Bound Matrices Antoine Miné École Normale Supérieure de Paris, France, mine@di.ens.fr, http://www.di.ens.fr/~mine Abstract. This paper presents a new
More informationCompositionality in SLD-derivations and their abstractions Marco Comini, Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica, Universita di
Compositionality in SLD-derivations and their abstractions Marco Comini Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica Universita di Pisa Corso Italia 40 56125 Pisa Italy fcomini levi meog@di.unipi.it
More informationProving Fixed Points
Proving Fixed Points Hervé Grall Team Ascola (INRIA EMN < LINA < CNRS) École des mines de Nantes Saturday, August 21st 2010 FICS 2010 - BRNO 1 In this talk A new proof method for order-theoretic fixed
More informationBasic Concepts of Abstract Interpretation
Programming Research Laboratory Seoul National University Basic Concepts of Abstract Interpretation Soonho Kong http://ropas.snu.ac.kr/ soon/ May 25, 2007 Work of P. Cousot and R.Cousot Basic Concepts
More informationWe define a dataflow framework. A dataflow framework consists of:
So far been talking about various dataflow problems (e.g. reaching definitions, live variable analysis) in very informal terms. Now we will discuss a more fundamental approach to handle many of the dataflow
More informationLaws of Parallel Synchronised Termination
Laws of Parallel Synchronised Termination David Sands dave@diku.dk DIKU, University of Copenhagen Universitetsparken 1, DK-2100 København Ø, Denmark. Abstract The salient feature of the composition operators
More informationMechanics of Static Analysis
Escuela 03 III / 1 Mechanics of Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 III / 2 Outline 1. Small-step semantics: trace generation 2. State generation and
More informationTowards a quantum calculus
QPL 2006 Preliminary Version Towards a quantum calculus (work in progress, extended abstract) Philippe Jorrand 1 Simon Perdrix 2 Leibniz Laboratory IMAG-INPG Grenoble, France Abstract The aim of this paper
More informationThe Trace Partitioning Abstract Domain
The Trace Partitioning Abstract Domain XAVIER RIVAL and LAURENT MAUBORGNE École Normale Supérieure In order to achieve better precision of abstract interpretation based static analysis, we introduce a
More informationAssociative-commutative rewriting via flattening
Associative-commutative rewriting via flattening Jean-Pierre Jouannaud LIX, École Polytechnique 91400 Palaiseau, France Email: jouannaud@lix.polytechnique.fr http://www.lix.polytechnique.fr/labo/jouannaud
More informationLogical Abstract Domains and Interpretations
Logical Abstract Domains and Interpretations Patrick Cousot 2,3, Radhia Cousot 3,1, and Laurent Mauborgne 3,4 1 Centre National de la Recherche Scientifique, Paris 2 Courant Institute of Mathematical Sciences,
More informationCoinductive big-step semantics and Hoare logics for nontermination
Coinductive big-step semantics and Hoare logics for nontermination Tarmo Uustalu, Inst of Cybernetics, Tallinn joint work with Keiko Nakata COST Rich Models Toolkit meeting, Madrid, 17 18 October 2013
More informationTowards a formal language for systemic requirements
Towards a formal language for systemic requirements LIX, Yann Hourdel École Polytechnique, 91128 Palaiseau Cedex, France, yann.hourdel@polytechnique.edu Abstract. This work is an attempt to contribute
More informationConsistency of a Programming Logic for a Version of PCF Using Domain Theory
Consistency of a Programming Logic for a Version of PCF Using Domain Theory Andrés Sicard-Ramírez EAFIT University Logic and Computation Seminar EAFIT University 5 April, 3 May 2013 A Core Functional Programming
More informationUltimate approximation and its application in nonmonotonic knowledge representation systems
Ultimate approximation and its application in nonmonotonic knowledge representation systems Marc Denecker Department of Computer Science, K.U.Leuven Celestijnenlaan 200A, B-3001 Heverlee Département d
More informationAbstract Interpretation from a Topological Perspective
(-: / 1 Abstract Interpretation from a Topological Perspective David Schmidt Kansas State University www.cis.ksu.edu/ schmidt Motivation and overview of results (-: / 2 (-: / 3 Topology studies convergent
More informationStep-Indexed Biorthogonality: a Tutorial Example
Step-Indexed Biorthogonality: a Tutorial Example Andrew Pitts University of Cambridge Computer Laboratory 1 Introduction The purpose of this note is to illustrate the use of step-indexing [2] combined
More informationComputing (the smallest) fixed points of monotone maps arising in static analysis by AI
Computing (the smallest fixed points of monotone maps arising in static analysis by AI Joint work, over the last 4 years: Stéphane Gaubert 1, Assalé Adjé, Eric Goubault 3, Sylvie Putot, Alexandru Costan,
More informationTransformation of a PID Controller for Numerical Accuracy
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Transformation of a PID Controller for Numerical Accuracy
More informationTrace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University
Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global
More informationConstructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation
1 Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation Patrick Cousot a a Département d Informatique, École Normale Supérieure, 45 rue d Ulm, 75230 Paris cedex
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationA General Technique for Analyzing Termination in Symmetric Proof Calculi
A General Technique for Analyzing Termination in Symmetric Proof Calculi Daniel J. Dougherty 1, Silvia Ghilezan 2 and Pierre Lescanne 3 1 Worcester Polytechnic Institute, USA, dd@cs.wpi.edu 2 Faculty of
More informationClassical Program Logics: Hoare Logic, Weakest Liberal Preconditions
Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will
More informationConcrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh
Concrete Domains Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh May 21, 1993 Abstract This paper introduces the theory of a particular kind of computation domains called concrete
More informationPopulation models from PEPA descriptions
Population models from PEPA descriptions Jane Hillston LFCS, The University of Edinburgh, Edinburgh EH9 3JZ, Scotland. Email: jeh@inf.ed.ac.uk 1 Introduction Stochastic process algebras (e.g. PEPA [10],
More informationFlow grammars a flow analysis methodology
Flow grammars a flow analysis methodology James S. Uhl and R. Nigel Horspool Dept. of Computer Science, University of Victoria P.O. Box 3055, Victoria, BC, Canada V8W 3P6 E-mail: juhl@csr.uvic.ca, nigelh@csr.uvic.ca
More informationA Fixed Point Representation of References
A Fixed Point Representation of References Susumu Yamasaki Department of Computer Science, Okayama University, Okayama, Japan yamasaki@momo.cs.okayama-u.ac.jp Abstract. This position paper is concerned
More informationA Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice
A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire
More informationExtended Abstract: Reconsidering Intuitionistic Duality
Extended Abstract: Reconsidering Intuitionistic Duality Aaron Stump, Harley Eades III, Ryan McCleeary Computer Science The University of Iowa 1 Introduction This paper proposes a new syntax and proof system
More informationSplitting a Default Theory. Hudson Turner. University of Texas at Austin.
Splitting a Default Theory Hudson Turner Department of Computer Sciences University of Texas at Austin Austin, TX 7872-88, USA hudson@cs.utexas.edu Abstract This paper presents mathematical results that
More informationInternal and External Logics of Abstract Interpretations
Internal and External Logics of Abstract Interpretations David A. Schmidt Kansas State University, Manhattan, Kansas, USA Abstract. We show that every abstract interpretation possesses an internal logic,
More informationStatic Program Analysis
Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem
More informationThe Underlying Semantics of Transition Systems
The Underlying Semantics of Transition Systems J. M. Crawford D. M. Goldschlag Technical Report 17 December 1987 Computational Logic Inc. 1717 W. 6th St. Suite 290 Austin, Texas 78703 (512) 322-9951 1
More informationEncoding formulas with partially constrained weights in a possibilistic-like many-sorted propositional logic
Encoding formulas with partially constrained weights in a possibilistic-like many-sorted propositional logic Salem Benferhat CRIL-CNRS, Université d Artois rue Jean Souvraz 62307 Lens Cedex France benferhat@criluniv-artoisfr
More informationCBV and CBN. Eduardo Bonelli. TP para LP 2012C1 1/55
CBV and CBN Eduardo Bonelli TP para LP 2012C1 1/55 Reduction Strategies Call-By-Value Call-by-Name Relating CBN and CBV λ-calculus Continuation Passing Style Bibliography 2/55 Reduction Strategies Reduction
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationTrace Diagnostics using Temporal Implicants
Trace Diagnostics using Temporal Implicants ATVA 15 Thomas Ferrère 1 Dejan Nickovic 2 Oded Maler 1 1 VERIMAG, University of Grenoble / CNRS 2 Austrian Institute of Technology October 14, 2015 Motivation
More informationA Canonical Contraction for Safe Petri Nets
A Canonical Contraction for Safe Petri Nets Thomas Chatain and Stefan Haar INRIA & LSV (CNRS & ENS Cachan) 6, avenue du Président Wilson 935 CACHAN Cedex, France {chatain, haar}@lsvens-cachanfr Abstract
More informationIntroduction to Program Analysis and Abstract Interpretation (Part I)
Introduction to Program Analysis and Abstract Interpretation (Part I) Axel Simon Olaf Chitil Lawrence Beadle Materials: http://www.cs.kent.ac.uk/research/ groups/tcs/pgradtrain/abstract.html Acknowledgments:
More informationInterprocedurally Analyzing Polynomial Identities
Interprocedurally Analyzing Polynomial Identities Markus Müller-Olm 1, Michael Petter 2, and Helmut Seidl 2 1 Westfälische Wilhelms-Universität Münster, Institut für Informatik Einsteinstr. 62, 48149 Münster,
More informationAn Abstract Domain to Infer Ordinal-Valued Ranking Functions
An Abstract Domain to Infer Ordinal-Valued Ranking Functions Caterina Urban and Antoine Miné ÉNS & CNRS & INRIA, Paris, France urban@di.ens.fr, mine@di.ens.fr Abstract. The traditional method for proving
More informationA strongly rigid binary relation
A strongly rigid binary relation Anne Fearnley 8 November 1994 Abstract A binary relation ρ on a set U is strongly rigid if every universal algebra on U such that ρ is a subuniverse of its square is trivial.
More informationEqualities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0
Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions
More informationUltimate approximation and its application in nonmonotonic knowledge representation systems
Ultimate approximation and its application in nonmonotonic knowledge representation systems Marc Denecker a a Department of Computer Science, K.U.Leuven Celestijnenlaan 200A, B-3001 Heverlee Département
More informationAxiomatic semantics. Semantics and Application to Program Verification. Antoine Miné. École normale supérieure, Paris year
Axiomatic semantics Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 6 18 March 2016 Course 6 Axiomatic semantics Antoine Miné p. 1 /
More informationAn Algebraic Semantics for Duration Calculus
An Algebraic Semantics for Duration Calculus Peter Höfner Institut für Informatik, Universität Augsburg D-86135 Augsburg, Germany hoefner@informatik.uni-augsburg.de Abstract. We present an algebraic semantics
More informationDenotational Semantics
Q Lecture Notes on Denotational Semantics for Part II of the Computer Science Tripos Dr Andrew M. Pitts Cambridge University Computer Laboratory c A. M. Pitts, 1997-9 First edition 1997. Revised 1998,
More informationBuilding a (sort of) GoI from denotational semantics: an improvisation
Building a (sort of) GoI from denotational semantics: an improvisation Damiano Mazza Laboratoire d Informatique de Paris Nord CNRS Université Paris 13 Workshop on Geometry of Interaction, Traced Monoidal
More informationMaking Abstract Interpretations Complete
Making Abstract Interpretations Complete ROBERTO GIACOBAZZI Università di Verona, Verona, Italy FRANCESCO RANZATO Università di Padova, Padova, Italy AND FRANCESCA SCOZZARI École Polytechnique, Palaiseau,
More informationThe physical Church Turing thesis and non-deterministic computation over the real numbers
370, 3349 3358 doi:10.1098/rsta.2011.0322 The physical Church Turing thesis and non-deterministic computation over the real numbers BY GILLES DOWEK* INRIA, 23 avenue d Italie, CS 81321, 75214 Paris Cedex
More informationSemantics and Verification of Software
Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ss-15/sv-sw/ The Denotational Approach Denotational
More informationAAA616: Program Analysis. Lecture 3 Denotational Semantics
AAA616: Program Analysis Lecture 3 Denotational Semantics Hakjoo Oh 2018 Spring Hakjoo Oh AAA616 2018 Spring, Lecture 3 March 28, 2018 1 / 33 Denotational Semantics In denotational semantics, we are interested
More informationLecture Notes: Program Analysis Correctness
Lecture Notes: Program Analysis Correctness 15-819O: Program Analysis Jonathan Aldrich jonathan.aldrich@cs.cmu.edu Lecture 5 1 Termination As we think about the correctness of program analysis, let us
More informationA SHORT AND CONSTRUCTIVE PROOF OF TARSKI S FIXED-POINT THEOREM
Published in the International Journal of Game Theory Volume 33(2), June 2005, pages 215 218. A SHORT AND CONSTRUCTIVE PROOF OF TARSKI S FIXED-POINT THEOREM FEDERICO ECHENIQUE Abstract. I give short and
More informationProgram verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program
Program verification Assertional semantics of a program Meaning of a program: relation between its inputs and outputs; specified by input assertions (pre-conditions) and output assertions (post-conditions)
More informationPropositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST
Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula
More informationA Certified Denotational Abstract Interpreter (Proof Pearl)
A Certified Denotational Abstract Interpreter (Proof Pearl) David Pichardie INRIA Rennes David Cachera IRISA / ENS Cachan (Bretagne) Static Analysis Static Analysis Static analysis by abstract interpretation
More informationAbstraction for Falsification
Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,
More informationDefinability in Boolean bunched logic
Definability in Boolean bunched logic James Brotherston Programming Principles, Logic and Verification Group Dept. of Computer Science University College London, UK J.Brotherston@ucl.ac.uk Logic Summer
More informationApplied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw
Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018
More informationPrecise Relational Invariants Through Strategy Iteration
Precise Relational Invariants Through Strategy Iteration Thomas Gawlitza and Helmut Seidl TU München, Institut für Informatik, I2 85748 München, Germany {gawlitza, seidl}@in.tum.de Abstract. We present
More informationInduction on Failing Derivations
Induction on Failing Derivations Technical Report PL-Sep13 September 2013, with addenda from Spring 2016 ay Ligatti Department of Computer Science and Engineering University of South Florida Abstract A
More informationKleene algebra to compute with invariant sets of dynamical
to compute with invariant sets of dynamical systems Lab-STICC, ENSTA-Bretagne MRIS, ENSTA-Paris, March 15, 2018 [5][4] Motivation Consider the system Denote by ϕ(t, x) the ow map. S : ẋ(t) = f(x(t))
More informationStreams and Coalgebra Lecture 2
Streams and Coalgebra Lecture 2 Helle Hvid Hansen and Jan Rutten Radboud University Nijmegen & CWI Amsterdam Representing Streams II, Lorentz Center, Leiden, January 2014 Tutorial Overview Lecture 1 (Hansen):
More informationDenoting computation
A jog from Scott Domains to Hypercoherence Spaces 13/12/2006 Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event
More informationCOMP6463: λ-calculus
COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics
More informationCommunicating Parallel Processes. Stephen Brookes
Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication
More informationFormal Methods in Software Engineering
Formal Methods in Software Engineering An Introduction to Model-Based Analyis and Testing Vesal Vojdani Department of Computer Science University of Tartu Fall 2014 Vesal Vojdani (University of Tartu)
More informationReview 1. Andreas Klappenecker
Review 1 Andreas Klappenecker Summary Propositional Logic, Chapter 1 Predicate Logic, Chapter 1 Proofs, Chapter 1 Sets, Chapter 2 Functions, Chapter 2 Sequences and Sums, Chapter 2 Asymptotic Notations,
More informationCylindrical Algebraic Decomposition in Coq
Cylindrical Algebraic Decomposition in Coq MAP 2010 - Logroño 13-16 November 2010 Assia Mahboubi INRIA Microsoft Research Joint Centre (France) INRIA Saclay Île-de-France École Polytechnique, Palaiseau
More informationTREE LOGIC WITH RECURSION AND MODEL CHECKING ALGORITHM
TREE LOGIC WITH RECURSIO AD MODEL CHECKIG ALGORITHM Taolue Chen Tingting Han Jian Lu State Key Laboratory of ovel Software Technology, anjing University, anjing, Jiangsu, P.R.China 210093 email: ctl@ics.nju.edu.cn
More informationAn Abstract Interpretation Framework for Semantics and Diagnosis of Lazy Functional-Logic Languages
Università degli Studi di Udine Dipartimento di Matematica e Informatica Dottorato di Ricerca in Informatica Ph.D. Thesis An Abstract Interpretation Framework for Semantics and Diagnosis of Lazy Functional-Logic
More informationDenotational Semantics
5 Denotational Semantics In the operational approach, we were interested in how a program is executed. This is contrary to the denotational approach, where we are merely interested in the effect of executing
More informationPrecise Widening Operators for Convex Polyhedra
Precise Widening Operators for Convex Polyhedra Roberto Bagnara a, Patricia M. Hill b, Elisa Ricci a, Enea Zaffanella a a Department of Mathematics, University of Parma, Italy b School of Computing, University
More informationCS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics
CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,
More informationSafety Analysis versus Type Inference
Information and Computation, 118(1):128 141, 1995. Safety Analysis versus Type Inference Jens Palsberg palsberg@daimi.aau.dk Michael I. Schwartzbach mis@daimi.aau.dk Computer Science Department, Aarhus
More information