Integrating Induction, Deduction and Structure for Synthesis

Size: px
Start display at page:

Download "Integrating Induction, Deduction and Structure for Synthesis"

Transcription

1 Integrating Induction, Deduction and Structure for Synthesis Sanjit A. Seshia Associate Professor EECS Department UC Berkeley Students & Postdocs: S. Jha, W.Li, A. Donze, L. Dworkin, B. Brady, D. Holcomb, J. Kotker, D. Sadigh Collaborators: A. Tiwari, S. Gulwani, J. Deshmukh, X. Jin NSF ExCAPE Summer School June 12, 2013

2 Connections in this Talk Software Synthesis Formal Verification Machine Learning (Theory) 2

3 Two Messages 1. Synthesis Everywhere Many problems can be solved effectively when viewed as synthesis 2. Effective Approach: Induction + Deduction + Structure Induction: Learning from examples Deduction: Logical inference and constraint solving Structure: Hypothesis on syntactic form of artifact to be synthesized 3

4 Many Problems map to Synthesis Formal Verification Synthesis of verification artifacts E.g.: Inductive invariants, abstraction functions Formal Specification E.g., synthesis of temporal logic formulas Reverse Engineering E.g., malware analysis System Modeling E.g., timing models for embedded platforms 4

5 Formal Verification as Synthesis Inductive Invariants Abstraction Functions 5

6 Example Verification Problem Transition System Init: I x = 1 y = 1 Transition Relation: x = x+y y = y+x Property: = G (y 1) Attempted Proof by Induction: y 1 x = x+y y = y+x y 1 Fails. Need to Strengthen Invariant: Find s.t. x = 1 y = 1 y 1 x = x+y y = y+x y 1 6

7 Example Verification Problem Transition System Init: I x = 1 y = 1 Transition Relation: x = x+y y = y+x Property: = G (y 1) Attempted Proof by Induction: y 1 x = x+y y = y+x y 1 Fails. Need to Strengthen Invariant: Find s.t. x 1 y 1 x = x+y y = y+x x 1 y 1 Safety Verification Invariant Synthesis 7

8 One Reduction from Verification to Synthesis NOTATION Transition system M = (I, ) Safety property = G( ) VERIFICATION PROBLEM Does M satisfy? SYNTHESIS PROBLEM Synthesize s.t. I 8

9 Two Reductions from Verification to Synthesis NOTATION Transition system M = (I, ), S = set of states Safety property = G( ) VERIFICATION PROBLEM Does M satisfy? SYNTHESIS PROBLEM #1 Synthesize s.t. I SYNTHESIS PROBLEM #2 Synthesize : S Ŝ where (M) = (I, ˆ ) ˆ s.t. (M) satisfies iff M satisfies 9

10 Common Approach for both: Inductive Synthesis Synthesis of:- Inductive Invariants Choose templates for invariants Infer likely invariants from tests (examples) Check if any are true inductive invariants, possibly iterate Abstraction Functions Choose an abstract domain Use Counter-Example Guided Abstraction Refinement (CEGAR) 10

11 Counterexample-Guided Abstraction Refinement is Inductive Synthesis System +Property Initial Abstraction Function SYNTHESIS Abstract Domain [Anubhav Gupta, 06] VERIFICATION Generate Abstraction Abstract Model + Property Invoke Model Checker Valid Done New Abstraction Function Counterexample Fail Refine Abstraction Function Spurious Counterexample YES Check Counterexample: Spurious? NO Done 11

12 CEGAR = Inductive Synthesis INITIALIZE Structure Hypothesis, Initial Examples Candidate Artifact SYNTHESIZE VERIFY Counterexample Synthesis Fails Verification Succeeds 12

13 CEGAR = Inductive Synthesis = Learning from (Counter)Examples INITIALIZE Concept Class, Initial Examples LEARNING ALGORITHM Candidate Concept Counterexample VERIFICATION ORACLE Learning Fails Learning Succeeds 13

14 Active Learning: Key Elements ACTIVE LEARNING ALGORITHM Search Strategy Selection Strategy Examples 1. Search Strategy: How to search the space of candidate concepts? 2. Example Selection: Which examples to learn from? 14

15 Counterexample-Guidance: A Successful Paradigm for Synthesis and Learning Active Learning from Queries and Counterexamples [Angluin 87a, 87b] Counterexample-Guided Inductive Synthesis (CEGIS) [Solar-Lezama et al., 06] See upcoming lectures Both rely heavily on Verification Oracle Other effective active learning methods? Especially when Verification Oracle is expensive 15

16 Induction + Deduction + Structure Structure Hypotheses (on artifacts to be synthesized) SKETCH, TEMPLATE, Etc. Deductive Procedure Lightweight : solves lower complexity problem or special case of original decision problem Inductive Procedure Active Learning: selects examples to learn from S. A. Seshia, Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis, DAC

17 Reverse Engineering Malware Obfuscated code: Input: y Output: modified value of y What it does: { a=1; b=0; z=1; c=0; while(1) { if (a == 0) { if (b == 0) { y=z+y; a =~a; b=~b; c=~c; if (~c) break; } else { z=z+y; a=~a; b=~b; c=~c; if (~c) break; } } else if (b == 0) {z=y << 2; a=~a;} else { z=y << 3; a=~a; b=~b;} } } y = y * 45 Paper: S. Jha et al., Oracle-Guided Component-Based Program Synthesis, ICSE We solve this using program synthesis. FROM CONFICKER WORM 17

18 Reverse Engineering Malware Obfuscated code: Input: y Output: modified value of y What it does: { a=1; b=0; z=1; c=0; y = y * 45 while(1) Loop-free { compositions of components if (a == 0) {(+, -, <<, >>, *, if-then-else, ) We solve this using if (b == 0) { y=z+y; a =~a; + program synthesis. b=~b; Learning c=~c; if from (~c) break; Distinguishing } I/O Examples else { + z=z+y; a=~a; b=~b; c=~c; SMT Solving (bit-vector arithmetic) if (~c) break; } } else if (b == 0) {z=y << 2; a=~a;} else { z=y << 3; a=~a; b=~b;} FROM } } CONFICKER WORM Paper: S. Jha et al., Oracle-Guided Component-Based Program Synthesis, ICSE

19 Synthesizing Switching Logic for Hybrid Systems???? SAFETY: Room Temperature x must lie between 20 and 22 C. OPTIMALITY: Minimize switching between modes to save energy Papers: S. Jha et al., ICCPS 2010 and EMSOFT

20 Synthesizing Switching Logic for Hybrid Systems? Guards are Hyperboxes? +? Hyperbox Learning from +/- Examples (safe/unsafe switching? states) + Numerical Simulation (constraint solving) SAFETY: Room Temperature x must lie between 20 and 22 C. OPTIMALITY: Minimize switching between modes to save energy Papers: S. Jha et al., ICCPS 2010 and EMSOFT

21 Reactive Synthesis from LTL Environment Assumptions System Requirements e s Synthesis Tool Realizable e s FSM Unrealizable Often due to missing environment assumptions! Paper: W. Li et al., Mining Assumptions for Synthesis, MEMOCODE

22 Reactive Synthesis from LTL Environment Assumptions System Requirements e Synthesis Tool Realizable Env Assumptions are Restricted GR(1) + Version Space Learning (from Counterstrategies) s + (finite-state) Unrealizable Model Checking Often due to missing environment assumptions! e s FSM Paper: W. Li et al., Mining Assumptions for Synthesis, MEMOCODE

23 Outline Program Synthesis from Input-Output Examples Synthesizing Environment Assumptions for Reactive Synthesis from LTL Conclusions and Future Directions 23

24 Reverse Engineering Malware by Program Synthesis Obfuscated code: Input: y Output: modified value of y What it does: { a=1; b=0; z=1; c=0; while(1) { if (a == 0) { if (b == 0) { y=z+y; a =~a; b=~b; c=~c; if (~c) break; } else { z=z+y; a=~a; b=~b; c=~c; if (~c) break; } } else if (b == 0) {z=y << 2; a=~a;} else { z=y << 3; a=~a; b=~b;} } } y = y * 45 Paper: S. Jha et al., Oracle-Guided Component-Based Program Synthesis, ICSE We solve this using program synthesis. FROM CONFICKER WORM 24

25 Class of Programs: Loop-Free Programs implementing functions: I O P(I): O 1 = f 1 (V 1 ) O 2 = f 2 (V 2 ) O n = f n (V n ) where f 1,f 2,,f n are functions from a given component library Functions could be if-then-else definitions and hence, the above represents any loop-free code. 25

26 Problem Specification Oracle Program Space I/O Oracle I/O Examples that identify the correct program? Space of all possible programs Each dot represents semantically unique program 26

27 Program Learning as Set Cover [Goldman & Kearns, 1995] Space of all possible programs Each dot represents semantically unique program 27

28 Program Learning as Set Cover Space of all possible programs Each dot represents semantically unique program 28

29 Program Learning as Set Cover (i 1, o 1 ) Example Set of programs ruled out by that example Space of all possible programs Each dot represents semantically unique program 29

30 Program Learning as Set Cover (i 1, o 1 ) - E 1 (i 2, o 2 ) - E 2 (i n, o n ) - E n Theorem: [Goldman & Kearns, 95] Smallest set of I/O examples to learn correct program Space of all possible programs Each dot represents semantically unique program IS Minimum size subset of {E 1, E 2,, E n } that covers all the incorrect programs 30

31 Program Learning as Set Cover (i 1, o 1 ) - E 1 (i 2, o 2 ) - E 2 Practical challenge: can t enumerate all inputs and find set E i for each (i n, o n ) - E n Smallest set of I/O examples to learn correct design Space of all possible programs Each dot represents semantically unique program IS Minimum size subset of {E 1, E 2,, E n } that cover all the incorrect programs 31

32 Program Learning as Set Cover (i 1, o 1 ) - E 1 (i 2, o 2 ) - E 2 (i n, o n ) - E n ONLINE set-cover: Space of all possible programs Each dot represents semantically unique program In each step, choose some (i j,o j ) pair eliminated incorrect programs E j disclosed 32

33 Program Learning as Set Cover (i 1, o 1 ) - E 1 (i 2, o 2 ) - E 2 Our heuristic: E j 1: atleast one incorrect program identified (i n, o n ) - E n ONLINE set-cover: Space of all possible programs Each dot represents semantically unique program In each step, choose some (i j,o j ) pair eliminated incorrect programs E j disclosed Efficient model counting could yield better algorithm 33

34 Our Approach: Learning based on Distinguishing Inputs [Jha et al., ICSE 10] Space of all possible programs Each dot represents semantically unique program 34

35 Our Approach Example I/O set E := {(i 1,o 1 )} Space of all possible programs 35

36 Our Approach Example I/O set E := {(i 1,o 1 )} SMT P1 P2 SMT Space of all possible programs 36

37 Our Approach Example I/O set E := {(i 1,o 1 )} P1 SMT P2 i 2 Space of all possible programs 37

38 Our Approach Example I/O set E := {(i 1,o 1 )} P1 P2 i 2 (i 2, o 2 ) Input/output Oracle Space of all possible programs 38

39 Our Approach Example I/O set E := E {(i 2,o 2 )} Space of all possible programs 39

40 Our Approach Example I/O set E := E {(i j,o j )} Space of all possible programs 40

41 Our Approach Example I/O set E := E {(i k,o k )} Space of all possible programs 41

42 Our Approach Example I/O set E := E {(i n,o n )} Semantically Unique Program Correct Program? Space of all possible programs 42

43 Soundness Conditional on Validity of Structure Hypothesis YES Library of components is sufficient? NO YES I/O pairs show infeasibility? NO Correct design Infeasibility reported Incorrect design Can invoke a Verification Oracle at the end and iterate 43

44 Other Important Details [Jha et al., ICSE 10, PLDI 11] Novel encoding of the space of possible programs as an SMT formula Obtain a feasible program for given set of input/output pairs using SMT solving Obtain second feasible program and a distinguishing input using SMT solving 44

45 Result Highlights Malware Deobfuscation Conficker worm MyDoom and survey paper on obfuscations by Collberg et al* Synthesized over 35 bit-manipulation programs from Hacker s delight (the Bible of bit-manipulation ). Program length: 3-15 Number of input/output examples: 2 to 13. Total runtime: < 1 second to 5 minutes. *C. Collberg, C. Thomborson, and D. Low. A taxonomy of obfuscating transformations. Technical Report 148, Dept. Comp. Sci., The Univ. of Auckland, July

46 Outline Program Synthesis from Input-Output Examples Synthesizing Environment Assumptions for Reactive Synthesis from LTL Conclusions and Future Directions 46

47 Synthesis from LTL Environment Assumptions System Requirements e s Synthesis Tool Unrealizable Often due to incomplete environment assumptions! Realizable e s FSM 47

48 Satisfiability and Realizability A LTL formula is satisfiable if there exists an infinite word (i.e. sequence of inputs and outputs) that satisfies. A LTL specification is realizable if there exists a finitestate transducer M (e.g. a Moore machine) which, for any input sequence, generates computations that satisfies. 48

49 Problem Description Goal: Generate additional assumptions to enable synthesis Context: Original specification is satisfiable but unrealizable Assume: - Given a few interesting user scenarios (satisfying traces) - Specifications are in the GR(1) class Challenge: - Space of possible additional assumptions is huge -Want assumptions that can be understood and analyzed by a human user 49

50 Example Inputs: request r and cancel c Outputs: grant g System specification s : - G (r X F g) - G(c g X g) Environment assumption e : - True No user scenarios. Not realizable because the environment can force c to be high all the time 50

51 Our Contribution [Wenchao Li et al., MEMOCODE 2011] Counterstrategy-guided synthesis of environment assumptions Demonstrated to generate useful/intuitive environment assumptions for digital circuits and robotic controllers 51

52 Approach for Synthesizing Environment Assumptions Structure Hypothesis: Environment Assumptions are Restricted GR(1) properties + Inductive Inference: Version Space Learning from Counterstrategies + Deductive Engine: (Finite-state) Model Checking 52

53 GR(1) Synthesis [Piterman, Pnueli, Saar] Formulas in the form: e s o Input and output partitions I and O. o i : initial state formulas. {e, s} o t : transition formulas, in the form of G B, where B is a Boolean combination of variables in I O and expressions X u, u I if = e and u I O if = s. o f : fairness formulas, in the form of G F B, where B is a Boolean formula over I O. o Synthesis as a turn-based two-player game between the system and the environment o Realizable if the system has a winning strategy, otherwise env wins; Strategy representable as finite-state transducer 53

54 Counter-strategy and counter-trace Counter-strategy is a strategy for the environment to force violation of the specification. Counter-trace is a fixed input sequence such that the specification is violated regardless of the outputs generated by the system. 54

55 Example System s : - G (r X F g) - G(c g X g) A counter-trace: r: 1 1 (1) c: 1 1 (1) 55

56 CounterStrategy-Guided Environment Assumption Synthesis Start Formal Specification Synthesis Tool Realizable Done Specification Templates User Scenarios Add Mine Assumptions Unrealizable Compute Counterstrategy 56

57 Assumption Synthesis Algorithm Specification Templates User Scenarios e.g. GF? Generate Candidate φ e.g. GFp Eliminate φ 57 Counterstrategy Eliminate or Accept Candidate Accept φ Done (check consistency with existing assumptions)

58 Assumption Synthesis Algorithm Specification Templates User Scenarios e.g. GF? Generate Candidate φ e.g. GFp VERSION SPACES: Retain candidates consistent with examples Traverse weakest to strongest NO: Eliminate φ 58 Counterstrategy E Invoke Model Checker: Does E satisfy φ? YES: Accept φ Done (check consistency with existing assumptions)

59 Assumption Templates follow GR(1) 1 : G F?b, where b I 2 : G (?b 1 X?b 2 ), where b 1 I O and b 2 I 3 : G (?b 1?b 2 ), where b 1, b 2 I The specification remains in GR(1) after the addition of new assumptions. Occam s Razor: Simple propositional structure generalizable Selecting candidate assumptions: (next slide) Weakest to Strongest, with heuristics G F b weaker than G X b weaker than G b 59

60 Version Space Learning Originally due to [Mitchell, 1978] G p 1 false G p 2... STRONGEST (most specific) G p n G p 1 p G p n-1 p n G X p 1 G X p 2... G X p n G (p 1 X p 2 )... G F p 1 G F p 2 true... G F p n WEAKEST (most general)

61 Theoretical Results Theorem 1: [Completeness] If there exist environment assumptions under our structure hypothesis that make the spec realizable, then the procedure finds them (terminates successfully). conditional completeness guarantee Theorem 2: [Soundness] The procedure never adds inconsistent environment assumptions. 61

62 Example System s : - G (r X F g) - G(c g X g) A counter-trace: r: 1 1 (1) c: 1 1 (1) Test assumption candidates by checking its negation: o G (F c) o G (F c) System s : - G (r X F g) - G(c g X g) Environment e : - G (F c) 62

63 Experimental Results Summary Experiment Setup: - Remove assumptions from an originally realizable specification - Use a few (often a single) satisfying traces of the original specification as representative user scenarios - Mine additional assumptions until the specification is realizable Use Cadence SMV to generate the satisfying traces and model check the counter-strategies Use RATSY [Bloem et al. 2010] to check realizability of the specifications and compute the counter-strategies and counter-traces in case of unrealizability 63

64 Experimental Results Summary Result Summary: - Case studies in existing literature: AMBA AHB, IBM Gen Buffer, robotic vehicle controller, etc. - Recovered the missing assumption in most cases - AMBA AHB Example: Original assumption: G (HLOCK[0] = 1 HBUSREQ[0] = 1) Mined assumption: G (F HLOCK[0] = 0) Master 0 requests locked access to the bus Master 0 requests access to the bus 64

65 Outline Switching Logic Synthesis for Hybrid Systems Reflections on the Approach Synthesizing Environment Assumptions for Reactive Synthesis from LTL Conclusions and Future Directions 65

66 Induction + Deduction + Structure Structure Hypothesis encodes human insight about form of artifact to be synthesized Synthesis procedure combines inductive inference with deductive reasoning Many instances of this approach exist already Key Points of Difference between instances: 1. Search Strategy: How to search the space of candidate concepts? 2. Example Selection: Which examples to learn from? 3. Deductive Oracles 66

67 Comparison of Three Approaches Traditional Counterexample- Guided Synthesis Program Synthesis from I/O Examples Env Assumption Generation for LTL Synthesis Search Strategy for Candidate Programs Determined by Constraint Encoding & Solver Heuristics Determined by Constraint Encoding & Solver Heuristics Version Spaces Example Selection Strategy Counter-Example guided Distinguishing Input guided Counter-Strategy (counter-example) guided 67

68 Ongoing and Future Work Many Other Applications Switching logic synthesis for safety and optimality [Jha et al 10, 11] Fixed-point code from floating-point [Jha & S, 11, 13] Synthesizing Abstractions for Hardware Verification [Brady et al., 11] Synthesizing Requirements for Industrial Control Models [Jin et al, 13] Need better understanding of Inductive Synthesis Explore range of learning models Role of structure hypothesis Control over deductive oracles (e.g., via problem encoding / search strategy in SAT/SMT) 68

Integrating Induction and Deduction for Verification and Synthesis

Integrating Induction and Deduction for Verification and Synthesis Integrating Induction and Deduction for Verification and Synthesis Sanjit A. Seshia Associate Professor EECS Department UC Berkeley DATE 2013 Tutorial March 18, 2013 Bob s Vision: Exploit Synergies between

More information

Integrating Induction, Deduction and Structure for Synthesis

Integrating Induction, Deduction and Structure for Synthesis Integrating Induction, Deduction and Structure for Synthesis Sanjit A. Seshia Associate Professor EECS Department UC Berkeley Students: S. Jha, W.Li, L. Dworkin, D. Sadigh Collaborators: A. Tiwari, S.

More information

Teaching vs. Learning, and Course Wrap-Up

Teaching vs. Learning, and Course Wrap-Up Teaching vs. Learning, and Course Wrap-Up Sanjit A. Seshia EECS 219C EECS Department UC Berkeley Teaching vs. Learning Learning: Examples Concept Teaching: Concept Examples Given a concept, give a good

More information

Formal Inductive Synthesis -- Theory and Applications

Formal Inductive Synthesis -- Theory and Applications Formal Inductive Synthesis -- Theory and Applications Sanjit A. Seshia EECS Department UC Berkeley Acknowledgments to several Ph.D. students, postdoctoral researchers, and collaborators, and to the students

More information

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sanjit A. Seshia Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report

More information

Formal Inductive Synthesis -- Theory and Applications

Formal Inductive Synthesis -- Theory and Applications Formal Inductive Synthesis -- Theory and Applications Sanjit A. Seshia Professor EECS Department UC Berkeley Acknowledgments to several Ph.D. students, postdoctoral researchers, and collaborators, and

More information

Synthesis and Inductive Learning Part 3

Synthesis and Inductive Learning Part 3 Synthesis and Inductive Learning Part 3 Sanjit A. Seshia EECS Department UC Berkeley Acknowledgments: Susmit Jha, Alexandre Donze, Edward Lee NSF ExCAPE Summer School June 23-25, 2015 Questions of Interest

More information

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sanjit A. Seshia University of California, Berkeley sseshia@eecs.berkeley.edu Abstract Even with impressive advances

More information

Synthesizing from Components: Building from Blocks

Synthesizing from Components: Building from Blocks Synthesizing from Components: Building from Blocks Ashish Tiwari SRI International 333 Ravenswood Ave Menlo Park, CA 94025 Joint work with Sumit Gulwani (MSR), Vijay Anand Korthikanti (UIUC), Susmit Jha

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis

Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sciduction: Combining Induction, Deduction, and Structure for Verification and Synthesis Sanjit A. Seshia UC Berkeley sseshia@eecs.berkeley.edu ABSTRACT Even with impressive advances in formal verification,

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 13: Specification and

More information

Revisiting Synthesis of GR(1) Specifications

Revisiting Synthesis of GR(1) Specifications Revisiting Synthesis of GR(1) Specifications Uri Klein & Amir Pnueli Courant Institute of Mathematical Sciences, NYU Haifa Verification Conference, October 2010 What Is Synthesis? Rather than implement

More information

Predicate Abstraction: A Tutorial

Predicate Abstraction: A Tutorial Predicate Abstraction: A Tutorial Predicate Abstraction Daniel Kroening May 28 2012 Outline Introduction Existential Abstraction Predicate Abstraction for Software Counterexample-Guided Abstraction Refinement

More information

Ranking Verification Counterexamples: An Invariant guided approach

Ranking Verification Counterexamples: An Invariant guided approach Ranking Verification Counterexamples: An Invariant guided approach Ansuman Banerjee Indian Statistical Institute Joint work with Pallab Dasgupta, Srobona Mitra and Harish Kumar Complex Systems Everywhere

More information

IC3 and Beyond: Incremental, Inductive Verification

IC3 and Beyond: Incremental, Inductive Verification IC3 and Beyond: Incremental, Inductive Verification Aaron R. Bradley ECEE, CU Boulder & Summit Middle School IC3 and Beyond: Incremental, Inductive Verification 1/62 Induction Foundation of verification

More information

SAT-Based Verification with IC3: Foundations and Demands

SAT-Based Verification with IC3: Foundations and Demands SAT-Based Verification with IC3: Foundations and Demands Aaron R. Bradley ECEE, CU Boulder & Summit Middle School SAT-Based Verification with IC3:Foundations and Demands 1/55 Induction Foundation of verification

More information

Compositional Reasoning

Compositional Reasoning EECS 219C: Computer-Aided Verification Compositional Reasoning and Learning for Model Generation Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Avrim Blum Compositional Reasoning S. A. Seshia 2 1

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

[read Chapter 2] [suggested exercises 2.2, 2.3, 2.4, 2.6] General-to-specific ordering over hypotheses

[read Chapter 2] [suggested exercises 2.2, 2.3, 2.4, 2.6] General-to-specific ordering over hypotheses 1 CONCEPT LEARNING AND THE GENERAL-TO-SPECIFIC ORDERING [read Chapter 2] [suggested exercises 2.2, 2.3, 2.4, 2.6] Learning from examples General-to-specific ordering over hypotheses Version spaces and

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55 Understanding IC3 Aaron R. Bradley ECEE, CU Boulder & Summit Middle School Understanding IC3 1/55 Further Reading This presentation is based on Bradley, A. R. Understanding IC3. In SAT, June 2012. http://theory.stanford.edu/~arbrad

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Edward A. Lee & Sanjit A. Seshia UC Berkeley EECS 124 Spring 2008 Copyright 2008, Edward A. Lee & Sanjit A. Seshia, All rights reserved Lecture 6: Modeling Modal Behavior,

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Reactive Synthesis. Swen Jacobs VTSA 2013 Nancy, France u

Reactive Synthesis. Swen Jacobs VTSA 2013 Nancy, France u Reactive Synthesis Nancy, France 24.09.2013 u www.iaik.tugraz.at 2 Property Synthesis (You Will Never Code Again) 3 Construct Correct Systems Automatically Don t do the same

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

Hoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples

Hoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples Hoare Logic I Introduction to Deductive Program Verification Işıl Dillig Program Spec Deductive verifier FOL formula Theorem prover valid contingent Example specs: safety (no crashes), absence of arithmetic

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

Automatic Synthesis of Distributed Protocols

Automatic Synthesis of Distributed Protocols Automatic Synthesis of Distributed Protocols Rajeev Alur Stavros Tripakis 1 Introduction Protocols for coordination among concurrent processes are an essential component of modern multiprocessor and distributed

More information

Stability and Stabilization of polynomial dynamical systems. Hadi Ravanbakhsh Sriram Sankaranarayanan University of Colorado, Boulder

Stability and Stabilization of polynomial dynamical systems. Hadi Ravanbakhsh Sriram Sankaranarayanan University of Colorado, Boulder Stability and Stabilization of polynomial dynamical systems Hadi Ravanbakhsh Sriram Sankaranarayanan University of Colorado, Boulder Proving Asymptotic Stability: Lyapunov Functions Lyapunov Function:

More information

Logical Abduction and its Applications in Program Verification. Isil Dillig MSR Cambridge

Logical Abduction and its Applications in Program Verification. Isil Dillig MSR Cambridge Logical Abduction and its Applications in Program Verification? Isil Dillig MSR Cambridge What is Abduction? Abduction: Opposite of deduction 2 / 21 What is Abduction? Abduction: Opposite of deduction

More information

Learning Abstractions for Model Checking

Learning Abstractions for Model Checking Learning Abstractions for Model Checking Anubhav Gupta June 2006 CMU-CS-06-131 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Submitted in partial fulfillment of the requirements

More information

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Symbolic Reachability Analysis of Lazy Linear Hybrid Automata. Susmit Jha, Bryan Brady and Sanjit A. Seshia

Symbolic Reachability Analysis of Lazy Linear Hybrid Automata. Susmit Jha, Bryan Brady and Sanjit A. Seshia Symbolic Reachability Analysis of Lazy Linear Hybrid Automata Susmit Jha, Bryan Brady and Sanjit A. Seshia Traditional Hybrid Automata Traditional Hybrid Automata do not model delay and finite precision

More information

Synthesis for Human-in-the-Loop Control Systems

Synthesis for Human-in-the-Loop Control Systems Synthesis for Human-in-the-Loop Control Systems Wenchao Li 1, Dorsa Sadigh 2, S. Shankar Sastry 2, and Sanjit A. Seshia 2 1 SRI International, Menlo Park, USA li@csl.sri.com 2 University of California,

More information

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking Double Header Model Checking #1 Two Lectures Model Checking SoftwareModel Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation

More information

Algorithmic Verification of Stability of Hybrid Systems

Algorithmic Verification of Stability of Hybrid Systems Algorithmic Verification of Stability of Hybrid Systems Pavithra Prabhakar Kansas State University University of Kansas February 24, 2017 1 Cyber-Physical Systems (CPS) Systems in which software "cyber"

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

More information

CEGAR:Counterexample-Guided Abstraction Refinement

CEGAR:Counterexample-Guided Abstraction Refinement CEGAR: Counterexample-guided Abstraction Refinement Sayan Mitra ECE/CS 584: Embedded System Verification November 13, 2012 Outline Finite State Systems: Abstraction Refinement CEGAR Validation Refinment

More information

Counterexample-Guided Abstraction Refinement

Counterexample-Guided Abstraction Refinement Counterexample-Guided Abstraction Refinement Edmund Clarke Orna Grumberg Somesh Jha Yuan Lu Helmut Veith Seminal Papers in Verification (Reading Group) June 2012 O. Rezine () Verification Reading Group

More information

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa Scalable and Accurate Verification of Data Flow Systems Cesare Tinelli The University of Iowa Overview AFOSR Supported Research Collaborations NYU (project partner) Chalmers University (research collaborator)

More information

A Short Introduction to Hoare Logic

A Short Introduction to Hoare Logic A Short Introduction to Hoare Logic Supratik Chakraborty I.I.T. Bombay June 23, 2008 Supratik Chakraborty (I.I.T. Bombay) A Short Introduction to Hoare Logic June 23, 2008 1 / 34 Motivation Assertion checking

More information

Deductive Verification of Continuous Dynamical Systems

Deductive Verification of Continuous Dynamical Systems Deductive Verification of Continuous Dynamical Systems Dept. of Computer Science, Stanford University (Joint work with Ashish Tiwari, SRI International.) 1 Introduction What are Continuous Dynamical Systems?

More information

Specification Mining of Industrial-scale Control Systems

Specification Mining of Industrial-scale Control Systems 100 120 Specification Mining of Industrial-scale Control Systems Alexandre Donzé Joint work with Xiaoqing Jin, Jyotirmoy V. Deshmuck, Sanjit A. Seshia University of California, Berkeley May 14, 2013 Alexandre

More information

Ivy: Safety Verification by Interactive Generalization

Ivy: Safety Verification by Interactive Generalization Ivy: Safety Verification by Interactive Generalization Oded Padon Verification Day 1-June-2016 [PLDI 16] Oded Padon, Kenneth McMillan, Aurojit Panda, Mooly Sagiv, Sharon Shoham. Ivy: Safety Verification

More information

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel Symbolic Trajectory Evaluation (STE): Automatic Refinement and Vacuity Detection Orna Grumberg Technion, Israel Marktoberdort 2007 1 Agenda Model checking Symbolic Trajectory Evaluation Basic Concepts

More information

Formal Methods meets Machine Learning: Explorations in Cyber- Physical System Design

Formal Methods meets Machine Learning: Explorations in Cyber- Physical System Design Formal Methods meets Machine Learning: Explorations in Cyber- Physical System Design Sanjit A. Seshia Professor UC Berkeley Joint work with: Jyo Deshmukh, Tommaso Dreossi, Alex Donze, Dorsa Sadigh, Susmit

More information

A Symbolic Approach to Safety LTL Synthesis

A Symbolic Approach to Safety LTL Synthesis A Symbolic Approach to Safety LTL Synthesis Shufang Zhu 1 Lucas M. Tabajara 2 Jianwen Li Geguang Pu 1 Moshe Y. Vardi 2 1 East China Normal University 2 Rice Lucas M. Tabajara (Rice University) 2 University

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Outline. Training Examples for EnjoySport. 2 lecture slides for textbook Machine Learning, c Tom M. Mitchell, McGraw Hill, 1997

Outline. Training Examples for EnjoySport. 2 lecture slides for textbook Machine Learning, c Tom M. Mitchell, McGraw Hill, 1997 Outline Training Examples for EnjoySport Learning from examples General-to-specific ordering over hypotheses [read Chapter 2] [suggested exercises 2.2, 2.3, 2.4, 2.6] Version spaces and candidate elimination

More information

BITS F464: MACHINE LEARNING

BITS F464: MACHINE LEARNING BITS F464: MACHINE LEARNING Lecture-09: Concept Learning Dr. Kamlesh Tiwari Assistant Professor Department of Computer Science and Information Systems Engineering, BITS Pilani, Rajasthan-333031 INDIA Jan

More information

Formally Analyzing Adaptive Flight Control

Formally Analyzing Adaptive Flight Control Formally Analyzing Adaptive Flight Control Ashish Tiwari SRI International 333 Ravenswood Ave Menlo Park, CA 94025 Supported in part by NASA IRAC NRA grant number: NNX08AB95A Ashish Tiwari Symbolic Verification

More information

Synthesizing Robust Systems

Synthesizing Robust Systems Synthesizing Robust Systems Roderick Bloem and Karin Greimel (TU-Graz) Thomas Henzinger (EPFL and IST-Austria) Barbara Jobstmann (CNRS/Verimag) FMCAD 2009 in Austin, Texas Barbara Jobstmann 1 Motivation

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling

More information

3-Valued Abstraction-Refinement

3-Valued Abstraction-Refinement 3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula

More information

Synthesis weakness of standard approach. Rational Synthesis

Synthesis weakness of standard approach. Rational Synthesis 1 Synthesis weakness of standard approach Rational Synthesis 3 Overview Introduction to formal verification Reactive systems Verification Synthesis Introduction to Formal Verification of Reactive Systems

More information

Lecture Notes on Software Model Checking

Lecture Notes on Software Model Checking 15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on

More information

Learning to Verify Branching Time Properties

Learning to Verify Branching Time Properties Learning to Verify Branching Time Properties Abhay Vardhan and Mahesh Viswanathan Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, USA Abstract. We present a new model checking algorithm

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

The Polyranking Principle

The Polyranking Principle The Polyranking Principle Aaron R. Bradley, Zohar Manna, and Henny B. Sipma Computer Science Department Stanford University Stanford, CA 94305-9045 {arbrad,zm,sipma}@theory.stanford.edu Abstract. Although

More information

Formal Verification of Systems-on-Chip

Formal Verification of Systems-on-Chip Formal Verification of Systems-on-Chip Wolfgang Kunz Department of Electrical & Computer Engineering University of Kaiserslautern, Germany Slide 1 Industrial Experiences Formal verification of Systems-on-Chip

More information

Information Flow Analysis via Path Condition Refinement

Information Flow Analysis via Path Condition Refinement Information Flow Analysis via Path Condition Refinement Mana Taghdiri, Gregor Snelting, Carsten Sinz Karlsruhe Institute of Technology, Germany FAST September 16, 2010 KIT University of the State of Baden-Wuerttemberg

More information

Topics in Model-Based Reasoning

Topics in Model-Based Reasoning Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

More information

From SAT To SMT: Part 1. Vijay Ganesh MIT

From SAT To SMT: Part 1. Vijay Ganesh MIT From SAT To SMT: Part 1 Vijay Ganesh MIT Software Engineering & SMT Solvers An Indispensable Tactic for Any Strategy Formal Methods Program Analysis SE Goal: Reliable/Secure Software Automatic Testing

More information

A practical introduction to active automata learning

A practical introduction to active automata learning A practical introduction to active automata learning Bernhard Steffen, Falk Howar, Maik Merten TU Dortmund SFM2011 Maik Merten, learning technology 1 Overview Motivation Introduction to active automata

More information

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

On Signal Temporal Logic

On Signal Temporal Logic 100 120 On Signal Temporal Logic Alexandre Donzé University of California, Berkeley February 3, 2014 Alexandre Donzé EECS294-98 Spring 2014 1 / 52 Outline 100 120 1 Signal Temporal Logic From LTL to STL

More information

Model Checking, Theorem Proving, and Abstract Interpretation: The Convergence of Formal Verification Technologies

Model Checking, Theorem Proving, and Abstract Interpretation: The Convergence of Formal Verification Technologies Model Checking, Theorem Proving, and Abstract Interpretation: The Convergence of Formal Verification Technologies Tom Henzinger EPFL Three Verification Communities Model checking: -automatic, but inefficient

More information

Lecture 7 Synthesis of Reactive Control Protocols

Lecture 7 Synthesis of Reactive Control Protocols Lecture 7 Synthesis of Reactive Control Protocols Richard M. Murray Nok Wongpiromsarn Ufuk Topcu California Institute of Technology AFRL, 25 April 2012 Outline Review: networked control systems and cooperative

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Concept Learning Mitchell, Chapter 2. CptS 570 Machine Learning School of EECS Washington State University

Concept Learning Mitchell, Chapter 2. CptS 570 Machine Learning School of EECS Washington State University Concept Learning Mitchell, Chapter 2 CptS 570 Machine Learning School of EECS Washington State University Outline Definition General-to-specific ordering over hypotheses Version spaces and the candidate

More information

Invariant Generation via Genetic Programming

Invariant Generation via Genetic Programming Invariant Generation via Genetic Programming Soonho Kong soon@ropas.snu.ac.kr 12 Mar 2010 ROPAS Show&Tell Problem: Inductive Invariant Generation For the annotated loop {δ} while ρ do S end {} Find an

More information

Dynamic and Adversarial Reachavoid Symbolic Planning

Dynamic and Adversarial Reachavoid Symbolic Planning Dynamic and Adversarial Reachavoid Symbolic Planning Laya Shamgah Advisor: Dr. Karimoddini July 21 st 2017 Thrust 1: Modeling, Analysis and Control of Large-scale Autonomous Vehicles (MACLAV) Sub-trust

More information

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing

More information

Notes. Corneliu Popeea. May 3, 2013

Notes. Corneliu Popeea. May 3, 2013 Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following

More information

ESE601: Hybrid Systems. Introduction to verification

ESE601: Hybrid Systems. Introduction to verification ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?

More information

Propositional 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 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 information

Bounded Synthesis. Sven Schewe and Bernd Finkbeiner. Universität des Saarlandes, Saarbrücken, Germany

Bounded Synthesis. Sven Schewe and Bernd Finkbeiner. Universität des Saarlandes, Saarbrücken, Germany Bounded Synthesis Sven Schewe and Bernd Finkbeiner Universität des Saarlandes, 66123 Saarbrücken, Germany Abstract. The bounded synthesis problem is to construct an implementation that satisfies a given

More information

Nonlinear Control as Program Synthesis (A Starter)

Nonlinear Control as Program Synthesis (A Starter) Nonlinear Control as Program Synthesis (A Starter) Sicun Gao MIT December 15, 2014 Preliminaries Definition (L RF ) L RF is the first-order language over the reals that allows arbitrary numerically computable

More information

Axiomatic Semantics. Lecture 9 CS 565 2/12/08

Axiomatic Semantics. Lecture 9 CS 565 2/12/08 Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics

More information

COEN6551: Formal Hardware Verification

COEN6551: Formal Hardware Verification COEN6551: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA Accident at Carbide plant, India

More information

Easy Parameterized Verification of Biphase Mark and 8N1 Protocols

Easy Parameterized Verification of Biphase Mark and 8N1 Protocols Easy Parameterized Verification of Biphase Mark and 8N1 Protocols Geoffrey M. Brown, Indiana University geobrown@cs.indiana.edu Lee Pike (Presenting), Galois Connections 1 leepike@galois.com March 27,

More information

State-Space Exploration. Stavros Tripakis University of California, Berkeley

State-Space Exploration. Stavros Tripakis University of California, Berkeley EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE

More information

Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach

Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach Motion Planning for LTL Specifications: A Satisfiability Modulo Convex Optimization Approach Yasser Shoukry UC Berkeley, UCLA, and UPenn Joint work with Pierluigi Nuzzo (UC Berkeley), Indranil Saha (IIT

More information

Software Verification with Abstraction-Based Methods

Software Verification with Abstraction-Based Methods Software Verification with Abstraction-Based Methods Ákos Hajdu PhD student Department of Measurement and Information Systems, Budapest University of Technology and Economics MTA-BME Lendület Cyber-Physical

More information

ENES 489p. Verification and Validation: Logic and Control Synthesis

ENES 489p. Verification and Validation: Logic and Control Synthesis 11/18/14 1 ENES 489p Verification and Validation: Logic and Control Synthesis Mumu Xu mumu@umd.edu November 18, 2014 Institute for Systems Research Aerospace Engineering University of Maryland, College

More information

Synthesis of Switching Protocols from Temporal Logic Specifications

Synthesis of Switching Protocols from Temporal Logic Specifications Submitted, 2012 American Control Conference (ACC) http://www.cds.caltech.edu/~murray/papers DRAFT 1 Synthesis of Switching Protocols from Temporal Logic Specifications Jun Liu, Necmiye Ozay, Ufuk Topcu,

More information

Synthesis via Sampling-Based Abstractions

Synthesis via Sampling-Based Abstractions Synthesis via Sampling-Based Abstractions Some Problems and Initial Ideas Matthias Rungger 2 Morteza Lahijanian 1 Lydia E Kavraki 1 Paulo Tabuada 2 Moshe Y Vardi 1 1 Department of Computer Science, Rice

More information

The TLA + proof system

The TLA + proof system The TLA + proof system Stephan Merz Kaustuv Chaudhuri, Damien Doligez, Leslie Lamport INRIA Nancy & INRIA-MSR Joint Centre, France Amir Pnueli Memorial Symposium New York University, May 8, 2010 Stephan

More information

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006 THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model

More information

PSL Model Checking and Run-time Verification via Testers

PSL Model Checking and Run-time Verification via Testers PSL Model Checking and Run-time Verification via Testers Formal Methods 2006 Aleksandr Zaks and Amir Pnueli New York University Introduction Motivation (Why PSL?) A new property specification language,

More information