Directed Model Checking (not only) for Timed Automata

Size: px
Start display at page:

Download "Directed Model Checking (not only) for Timed Automata"

Transcription

1 Directed Model Checking (not only) for Timed Automata Sebastian Kupferschmid March, 2010

2 Model Checking Motivation Embedded Systems Omnipresent Safety relevant systems Pentium bug Ariane 5 Errors can be extremely harmful Correct functioning is absolutely mandatory

3 Model Checking Correct Systems Every system state satisfies invariant M, s 0 = ϕ Erroneous Systems Find error states fast Short error traces M, s 0 = ϕ full state space Directed Model Checking Combination of Artificial Intelligence and Model Checking Accelerate the search to error states with heuristic functions

4 Outline Introduction Timed Automata Directed Model Checking Coming up with Heuristics in a Principled Way Pattern Database Heuristics Pattern selection strategies Summary Empirical evaluation of several heuristics Literature

5 Timed Automata Syntax Definition (Timed Automaton) A timed automaton A is a tuple L, l 0, E, X, V, Σ, I, where L finite set of locations, l 0 L the initial location, X finite set of clocks, V finite set of integer variables, Σ synchronization symbols, E finite set of edges, and I assigns invariants to locations. x 1 c? s 0 x := 0 s 1 x 1 c? x < 1 x 1 s 2

6 Timed Automata Semantics Semantics States assign values to Automata, Integer variables, and Clocks Transitions Discrete Delay infinite transition system A possible Behavior x 1 c? x 1 c? s 0 x := 0 s 1 x < 1 x s 2 1 s 1 s 0 s 0 x 1 s time

7 The Zone Graph Symbolic State Space The Zone Graph Finite & exact abstraction of the timed automata semantics A symbolic state corresponds to a set of states that have the same discrete part and the clock values satisfy a conjunction of clock constraints, a so called zone x 1 c? x 1 c? s 0 x := 0 s 1 x < 1 x 1 s 2 s.. 0,... s 0,.. x 0 x < s 0,.. s 1, s.. 0,... x = 0 x = 0 x s 0, s.... 2,... x 1 x s 0, s.. 1,.. s 2,.. x = 1 x 1 x < 1

8 Model Checking Task Definition (Model Checking Task) A model checking task T is a tuple M, ϕ, where M = A 1... A n is a system of timed automata ϕ is an error formula

9 Directed Model Checking Objective in DMC Given: a model checking task T = M, ϕ with corresponding symbolic state space S(M) = S, s 0, T t... n sn 1 sn, t Find: a sequence π = s 1 t 0 2 s1 where s i S, s i t i si+1 T, and s n = ϕ Approach: informed search algorithm heuristic function

10 Directed Model Checking Model Checking + Heuristic Search Definition (heuristic function) Let T = M, ϕ be a model checking task and let S(M) = S, s 0, T be the state space of M. A heuristic function (or heuristic) is a function h : S N 0 { }. The heuristic estimate h(s) for a state s S is supposed to estimate the distance from s to the nearest error state.

11 Heuristic Search The General Idea distance estimate init distance estimate distance estimate distance estimate error

12 The Properties of Heuristics Definition (perfect heuristic) Let T = M, ϕ and let S(M) = S, s 0, T. The perfect heuristic of S(M) is the heuristic h which maps each state s S to the length of a shortest path from s to any error state. Note: h (s) = iff no error state is reachable from s. Heuristic h is called admissible if h(s) h (s) for all states s S safe if h (s) = for all s S with h(s) = goal-aware if h(s) = 0 for all error states s S consistent if h(s) h(s ) + 1 for all nodes s, s S s. t. s s T

13 A Generic Informed Search Algorithm 1 function dmc(m, ϕ, h): 2 open = empty priority queue 3 closed = 4 open.insert(s 0, priority(s 0, h)) 5 while open do: 6 s = open.getminimum() 7 if s = ϕ then: 8 return True 9 if s closed then: 10 closed = closed {s} 11 for each s succs(s) do: 12 open.insert(s, priority(s, h)) 13 return False

14 Heuristic Search Methods A Search priority(s, h) = depth(s) + h(s) If h is admissible shortest possible error traces Often high memory consumption Greedy Search priority(s, h) = h(s) Expands fewer states than A in practice No guarantee on error trace length

15 Dominance Definition (Dominance) Let h, h be two admissible heuristics. The heuristic h dominates h iff s S : h(s) > h (s) Theorem Let h, h be two admissible heuristics. If h dominates h, then every state explored by A with h is also explored by A with h.

16 Heuristics for Directed Model Checking Requirements for h 1. Accurate (with respect to h ) The closer the better It has to work well in practice 2. Efficiently computable for any state s Heuristic has to be computed for every encountered state Efficient = low-order polynomial in T 3. Derived automatically for a given model checking task Based on the declarative description of T No user interaction

17 A Simple Heuristic for Directed Model Checking Hamming Distance Heuristic The minimal number of variable values that have to be changed in order to turn s into an error state e. h(s) = min #different values(s, e) e S:e =ϕ Intuition The more similar to an error state the closer to an error state.

18 Criticism of the Hamming Distance Heuristic What is wrong with the Hamming distance heuristic? Quite uninformative: the range of heuristic values is small; typically, most successors have the same estimate Sensitive to reformulation: can easily transform any MC task into an equivalent one where h(s) = 1 for all non-error states (how?) Ignores almost all problem structure: heuristic values do not depend on the set of transitions! need a better, principled way of coming up with heuristics

19 Coming up with Heuristics in a Principled Way In this Lecture: Pattern Database Heuristics State-of-the-art heuristics Based on abstractions Fully automatically generated No user interaction Applicable to a wide range of transition systems

20 A Design Principle for Heuristics The General Idea Given A model checking task T = M, ϕ with Corresponding state space S(M) = S, s 0, T A Generic Approach for Obtaining Heuristics Select an overapproximation T α of T with T α = M α, ϕ α and S(M α ) = S α, s α 0, T α For every state s S encountered during the search Find a (shortest) error trace π in S α, s α, T α h(s) = π

21 A Design Principle for Heuristics The General Idea Original Transition System Overapproximation

22 A Design Principle for Heuristics The General Idea Original Transition System Overapproximation s s α h(s) = 2

23 Pattern Database (PDB) Heuristics Prior to Search Choose an abstraction α For every abstract state s α S(M α ) = S α, s α 0, T α Compute abstract error distance dist α (s α ) Store s α, dist α (s α ) in lookup table (the pattern database) During Search Map state s to corresponding abstract state s α Heuristic value: h(s) = d(s α )

24 How to Choose the Abstraction? The Original State Space

25 How to Choose the Abstraction? The Trivial Abstraction

26 How to Choose the Abstraction? The Identity Abstraction

27 How to Choose the Abstraction? The Perfect Abstraction

28 Conflicting Requirements Requirements for the Heuristic Informativeness (quality) Has to work well in practice Requirements for the Abstraction Efficient to compute Not too many abstract states Succinct representation (memory requirement) Question: where is the sweet-spot?

29 Two Different Abstraction Classes Predicate Abstraction Abstract state space defined by a set of selected predicates Use SAT or SMT to construct abstract state space Fine-grained Variable Abstraction Special case of predicate abstraction Ignores subset of the system s variables Abstract model in same formalism (can be constructed with the same tool, often more efficient than general purpose SAT solvers)

30 Pattern Selection What kind of pattern shall we use? Definition (Pattern) A pattern is a set of variables/predicates used to define a system. In this Lecture Cone-of-influence-based pattern selection Pattern selection using counterexamples Syntax-based pattern selection A local search approach

31 Pattern Selection for Variable Abstractions Pattern P Subset of the variables that are used to define the system e. g., clocks, automata, synchronization labels,... Abstraction of M with respect to P = {P, y, c, g} P M = P Q c! left g? x := 0 walk x > 2 right M α = P α c! P α g? x > 2 x := 0 left walk right y 2 y 2 Q red y 1 c? y := 0 yellow g! green red y 1 c? y := 0 yellow g! green

32 Patterns and Overapproximations But: P = {P, y, c, g} does not induce an overapproximation! Why... P c! g? x > 2 x := 0 left walk right P α c! g? x > 2 x := 0 left walk right y 2 y 2 Q red y 1 c? y := 0 yellow g! green Q α red y 1 c? y := 0 yellow g! green

33 Patterns and Overapproximations But: P = {P, y, c, g} does not induce an overapproximation! Why... P c! g? x > 2 x := 0 left walk right P α c! g? x > 2 x := 0 left walk right y 2 y 2 Q red y 1 c? y := 0 yellow g! green Q α red y 1 c? y := 0 yellow g! green... because P α = walk is not reachable (synchronization)

34 Closure of Patterns Definition (closed pattern) A pattern P is closed iff {b a P : a depends on b} P Consequences Closed patterns overapproximation Overapproximation: all error paths are preserved Overapproximation admissible heuristics Note: every abstraction set can be closed

35 Cone-of-influence-based Pattern Selection A COI-based Method Given: a model checking task T = M, ϕ and a bound b N 0. Return: Where: P = b i=0 P i P 0 = vars(ϕ) P i+1 = {v v P i : v can influence v }

36 Illustrating Example Cone of Influence Let T = M, P = right be a model checking task and let b = 1, M = P Q Cone of Influence P c! left g? x := 0 walk x > 2 right c P g x Q red y 2 y 1 c? y := 0 yellow g! green Q y

37 Illustrating Example Cone of Influence Let T = M, P = right be a model checking task and let b = 1, M = P Q Cone of Influence P c! left g? x := 0 walk x > 2 right P = c P g x Q red y 2 y 1 c? y := 0 yellow g! green Q y then P = {P, c, g, x}.

38 COI-based Pattern Selection Concluding Comments User interaction (bound b) Small values of b uninformed heuristic Larger values of b quickly converges towards original system Can be difficult to select good values for b

39 Counterexample-based Pattern Selection The Method Use the monotonicity abstraction Compute abstract error trace for the abstract MC problem Relevant variables: all variables that occur in the declarative description of the transitions that are involved in the abstract error trace Pattern P Contains all relevant variables No user interaction

40 The Monotonicity Abstraction Adaptation of Ignoring negative Effects Idea Abstract variables are set-valued A variable, once it obtained a value keeps that value forever Variables in the Abstraction v dom(v) v + dom(v) v := w v + := v + w + Clocks in the Abstraction Trivialize very fast ignored in the abstraction

41 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions P + = {l 1 }, v + = {0}, w + = {0}

42 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3}

43 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3} l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1, 2}, w + = {0, 3}

44 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions 2. Remove unnecessary transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3} l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1, 2}, w + = {0, 3}

45 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions 2. Remove unnecessary transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3} l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1, 2}, w + = {0, 3}

46 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions 2. Remove unnecessary transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3} l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1, 2}, w + = {0, 3}

47 The Monotonicity Abstraction Computing Abstract Error Traces P l 1 w := 3 v 0 v := v + 1 l 3 l 2 Initial state: P = l 1, v = 0, w = 0 Error formula: ϕ = (v 2) Computation of Abstract Error Traces 1. Simultanios execution of all enabled transitions 2. Remove unnecessary transitions P + = {l 1 }, v + = {0}, w + = {0} l 1 l 2 l 1 l 2 l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1}, w + = {0, 3} l 1 l 3 P + = {l 1, l 2, l 3 }, v + = {0, 1, 2}, w + = {0, 3} l 1 w:=3 l 3 does not occur in the abstract error trace w P

48 Concluding Comments Where does it work, where not Works well for modular systems with little interaction (many real-world applications) Problems with systems with tight interaction identity abstraction

49 Pattern Selection for Predicate Abstractions Abstract State Space P = {p 1,..., p n } set of predicates that talk about the variables of the system Abstract states b assign each p P a truth value (can be represented as bitstrings) An abstract state b corresponds to the set of concrete states [b] = {s s = b} There is an abstract transition t = b b iff s [b] and s [b ] such that s s is a concrete transition

50 Syntax-based Pattern Selection Pattern P Set of predicates containing: All constraints that appear in guards or location invariants For each location: a location predicate Example P Q c! left red g? x := 0 walk y 2 y 1 c? y := 0 yellow x > 2 g! right green P = {P = left, P = walk, P = right, Q = red, Q = yellow, Q = green, x > 2, y 1, y 2}

51 Mapping Concrete to Abstract States Predicate Abstraction Mapping Concrete to Abstract States Let P = {p 1,... p n } be a set of predicates. For every p P check if s = p abstract state s α Looking up abstract states is straight-forward

52 Concluding Comments Syntax-based Pattern Selection Can induce large pattern databases (many predicates) This can be overcome by splitting the system into several independent parts Construct PDB for each of these parts and Combine (maximize or add) heuristic values

53 A Local Search Approach to Pattern Selection Local search in the pattern space Given: the set of variables V used to define a system and a threshold for the maximum size of the PDB Start with pattern P = While P < threshold do Select v V \ P such that P = P {v} is better than P = P {w} for all w v P = P {v 1} {v i} {v n} {v i, v 1} {v i, v j} {v i, v n} Question: how can we measure the quality of a pattern?

54 Evaluating Patterns Estimating a PDB heuristic s quality A possible quality measurement Average heuristic value h of the PDB heuristic h induced by the pattern Intuition: if h dominates h, then h > h Problems What if there are dead ends that h can detect? (how to cope with?) For the evaluation the PDB has to be constructed (can be expensive)

55 Mapping Concrete to Abstract States Variable Abstraction Symbolic state space S Discrete part d Zone Z 1. S α in hash table s α = d α, Z α Bucket: states with equal discrete part d A, Z1 s = d, Z 2. Find Abstract States s = d α, Z with Z Z α d A, Z2 d A, Z3 3. Heuristic Value h(s) = min s S α{distα (s ) s s α } Z2 Z3 Z A Z1

56 The Big Question So far, we have seen Different abstractions Different approaches for pattern selection

57 The Big Question So far, we have seen Different abstractions Different approaches for pattern selection But... Which approach works best?

58 Empirical Evaluation Experimental Setup 2.66 GHz Intel Xeon, memout at 4 GB Implemented either in Mcta or Uppaal/DMC Single-tracked Line Segment (flawed version) ES2 LS2 CS2 ES1 CS1 LS PLC 1 PLC 2

59 Empirical Results A Search explored states C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 runtime in s Edelkamp et al. Based on plain graph distance Kupferschmid et al. Monotonicity abstraction Dräger et al. Iteratively merges two automata by abstracting their cross product Hoffmann et al. Qian et al. PDB heuristic: syntax-based pattern selection PDB heuristic: COI-based pattern selection, user interaction Kupferschmid et al. PDB heuristic: CE-based pattern selection C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9

60 Empirical Results Greedy Search 10 8 explored states 10 7 error trace length C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C runtime in s C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 Edelkamp et al. Kupferschmid et al. (monotonicity abstraction) Dräger et al. Hoffmann et al. Qian et al. Kupferschmid et al. (CE-based pattern selection)

61 Literature About this List This list is meant to be focused, not comprehensive. Hence, it is a somewhat subjective mix of papers we consider important and relevant to the lecture s topic. If a paper is not listed, there are many possible reasons: We do not know it. We forgot it. We do not think it is (sufficiently) important. It overlaps considerably with another paper listed here. Its topic is not close enough to the focus of this lesson (e. g., papers on domain-dependent search).

62 References: Directed Model Checking C. Han Yang and David L. Dill. Validation with guided search of the state space. In Proc. Conference on Design Automation, pp , First paper about MC + heuristic search Stefan Edelkamp, Alberto Lluch-Lafuente, and Stefan Leue. Directed explicit model checking with HSF-SPIN. In Proc. SPIN 2001, pp , Coined the term directed model checking Judea Pearl. Heuristics: Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, Discusses the foundations of heuristic search

63 References: Pattern Database Heuristics Joseph C. Culberson and Jonathan Schaeffer. Pattern databases. Computational Intelligence, 14(3): , First paper on pattern database heuristics Stefan Edelkamp. Symbolic pattern databases in heuristic search planning. In Proc. AIPS 2002, pp , Uses BDDs to store pattern databases more compactly. Kairong Qian and Albert Nymeyer. Guided invariant model checking based on abstraction and symbolic pattern databases. In Proc. TACAS 2004, pp , COI-based pattern selection

64 References: Pattern Database Heuristics (ctd.) Stefan Edelkamp. Automated creation of pattern database search heuristics. In Proc. MOCHART 2006, pp , First search-based pattern selection method. Jörg Hoffmann, Jan-Georg Smaus, Andrey Rybalchenko, Sebastian Kupferschmid, and Andreas Podelski. Using predicate abstraction to generate heuristic functions in Uppaal. In Proc. MOCHART 2006, pp , Uses predicate abstraction to generate PDB heuristics Sebastian Kupferschmid, Jörg Hoffmann, and Kim G. Larsen. Fast directed model checking via russian doll abstraction. In Proc. TACAS 2008, pp , Introduces CE-based pattern selection

65 References: Other Heuristics Sebastian Kupferschmid, Jörg Hoffmann, Henning Dierks, and Gerd Behrmann. Adapting an AI planning heuristic for directed model checking. In Proc. SPIN 2006, pp , Introduces the monotonicity abstraction (for model checking) Klaus Dräger, Bernd Finkbeiner, and Andreas Podelski. Directed model checking with distance-preserving abstractions. International Journal on Software Tools for Technology Transfer, 11(1):27 37, Introduces distance-preserving abstractions

66 References: Other Heuristics (ctd.) Martin Wehrle and Malte Helmert. The causal graph revisited for directed model checking. In Proc. SAS 2009, pp , Adapts the causal graph heuristic from AI planning Martin Wehrle, Sebastian Kupferschmid, and Andreas Podelski. Transition-based directed model checking. In Proc. TACAS 2009, pp , General framework to accelerate heuristic search

67 References: DMC Tools for Timed Automata Sebastian Kupferschmid, Klaus Dräger, Jörg Hoffmann, Bernd Finkbeiner, Henning Dierks, Andreas Podelski, and Gerd Behrmann. Uppaal/DMC abstraction-based heuristics for directed model checking. In Proc. TACAS 2007, pp , DMC extension of Uppaal Sebastian Kupferschmid, Martin Wehrle, Bernhard Nebel, and Andreas Podelski. Faster than Uppaal? In Proc. CAV 2008, pp , Open source directed model checker for timed automata

Principles of AI Planning

Principles of AI Planning Principles of 7. Planning as search: relaxed Malte Helmert and Bernhard Nebel Albert-Ludwigs-Universität Freiburg June 8th, 2010 How to obtain a heuristic STRIPS heuristic Relaxation and abstraction A

More information

Useless Actions are Useful

Useless Actions are Useful Useless Actions are Useful Martin Wehrle and Sebastian Kupferschmid and Andreas Podelski University of Freiburg {mwehrle, kupfersc, podelski}@informatik.uni-freiburg.de Abstract Planning as heuristic search

More information

Principles of AI Planning

Principles of AI Planning Principles of 5. Planning as search: progression and regression Malte Helmert and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 4th, 2010 Planning as (classical) search Introduction Classification

More information

Principles of AI Planning

Principles of AI Planning Principles of 7. State-space search: relaxed Malte Helmert Albert-Ludwigs-Universität Freiburg November 18th, 2008 A simple heuristic for deterministic planning STRIPS (Fikes & Nilsson, 1971) used the

More information

Principles of AI Planning

Principles of AI Planning Principles of AI Planning 5. Planning as search: progression and regression Albert-Ludwigs-Universität Freiburg Bernhard Nebel and Robert Mattmüller October 30th, 2013 Introduction Classification Planning

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

Symmetry Reduction and Heuristic Search for Error Detection in Model Checking p.1/??

Symmetry Reduction and Heuristic Search for Error Detection in Model Checking p.1/?? Symmetry Reduction and Heuristic Search for Error Detection in Model Checking Workshop on Model Checking and Artificial Intelligence 10 August 2003 Alberto Lluch Lafuente? - Tilman Mehler? lafuente@informatikuni-freiburgde

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

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

Informed Search. Chap. 4. Breadth First. O(Min(N,B L )) BFS. Search. have same cost BIBFS. Bi- Direction. O(Min(N,2B L/2 )) BFS. have same cost UCS

Informed Search. Chap. 4. Breadth First. O(Min(N,B L )) BFS. Search. have same cost BIBFS. Bi- Direction. O(Min(N,2B L/2 )) BFS. have same cost UCS Informed Search Chap. 4 Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors (branching factor) L = Length

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

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Informed Search. Day 3 of Search. Chap. 4, Russel & Norvig. Material in part from

Informed Search. Day 3 of Search. Chap. 4, Russel & Norvig. Material in part from Informed Search Day 3 of Search Chap. 4, Russel & Norvig Material in part from http://www.cs.cmu.edu/~awm/tutorials Uninformed Search Complexity N = Total number of states B = Average number of successors

More information

Fact-Alternating Mutex Groups for Classical Planning (Extended Abstract)

Fact-Alternating Mutex Groups for Classical Planning (Extended Abstract) Fact-Alternating Mutex Groups for Classical Planning (Extended Abstract) Daniel Fišer and Antonín Komenda Department of Computer Science, Faculty of Electrical Engineering, Czech Technical University in

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

Heuristics for Cost-Optimal Classical Planning Based on Linear Programming

Heuristics for Cost-Optimal Classical Planning Based on Linear Programming Heuristics for Cost-Optimal Classical Planning Based on Linear Programming (from ICAPS-14) Florian Pommerening 1 Gabriele Röger 1 Malte Helmert 1 Blai Bonet 2 1 Universität Basel 2 Universidad Simón Boĺıvar

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Frank Hutter and Bernhard Nebel Albert-Ludwigs-Universität Freiburg

More information

SAT-Based Explicit LTL Reasoning

SAT-Based Explicit LTL Reasoning SAT-Based Explicit LTL Reasoning Jianwen Li 1,2 Shufang Zhu 2 Geguang Pu 2 Moshe Y. Vardi 1 1. Rice University 2. East China Normal University August 22, 2016 Temporal Reasoning Church, 1957: Given a model

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012

Search and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012 Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:

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

Lecture 11: Timed Automata

Lecture 11: Timed Automata Real-Time Systems Lecture 11: Timed Automata 2014-07-01 11 2014-07-01 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC (un)decidability This Lecture:

More information

Structural Patterns Heuristics via Fork Decomposition

Structural Patterns Heuristics via Fork Decomposition Patterns Heuristics via Fork Decomposition Michael Katz Carmel Domshlak Technion, IE&M ICAPS-08 Context Abstraction-based Admissible Heuristics for Cost-Optimal Classical Planning Classical Planning Planning

More information

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main Real-Time Systems Lecture 10: Timed Automata 2013-06-04 10 2013-06-04 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: PLC, PLC automata This Lecture:

More information

Models for Efficient Timed Verification

Models for Efficient Timed Verification Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model

More information

Synthesising Certificates in Networks of Timed Automata

Synthesising Certificates in Networks of Timed Automata Synthesising Certificates in Networks of Timed Automata Bernd Finkbeiner Hans-Jörg Peter Saarland University {finkbeiner peter}@cs.uni-saarland.de Sven Schewe University of Liverpool sven.schewe@liverpool.ac.uk

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

Chapter 3 Deterministic planning

Chapter 3 Deterministic planning Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions

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

540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL Algorithmic Analysis of Nonlinear Hybrid Systems

540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL Algorithmic Analysis of Nonlinear Hybrid Systems 540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL 1998 Algorithmic Analysis of Nonlinear Hybrid Systems Thomas A. Henzinger, Pei-Hsin Ho, Howard Wong-Toi Abstract Hybrid systems are digital

More information

The algorithmic analysis of hybrid system

The algorithmic analysis of hybrid system The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton

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

Optimal Metric Planning with State Sets in Automata Representation

Optimal Metric Planning with State Sets in Automata Representation Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence (2008) Optimal Metric Planning with State Sets in Automata Representation Björn Ulrich Borowsky and Stefan Edelkamp Fakultät für

More information

Revising UNITY Programs: Possibilities and Limitations 1

Revising UNITY Programs: Possibilities and Limitations 1 Revising UNITY Programs: Possibilities and Limitations 1 Ali Ebnenasir, Sandeep S. Kulkarni, and Borzoo Bonakdarpour Software Engineering and Network Systems Laboratory Department of Computer Science and

More information

CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro

CMU Lecture 4: Informed Search. Teacher: Gianni A. Di Caro CMU 15-781 Lecture 4: Informed Search Teacher: Gianni A. Di Caro UNINFORMED VS. INFORMED Uninformed Can only generate successors and distinguish goals from non-goals Informed Strategies that can distinguish

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

Lecture 4 Model Checking and Logic Synthesis

Lecture 4 Model Checking and Logic Synthesis Lecture 4 Model Checking and Logic Synthesis Nok Wongpiromsarn Richard M. Murray Ufuk Topcu EECI, 18 March 2013 Outline Model checking: what it is, how it works, how it is used Computational complexity

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 17, 2016

More information

Best-Case and Worst-Case Behavior of Greedy Best-First Search

Best-Case and Worst-Case Behavior of Greedy Best-First Search Best-Case and Worst-Case Behavior of Greedy Best-First Search Manuel Heusner, Thomas Keller and Malte Helmert University of Basel, Switzerland {manuel.heusner,tho.keller,malte.helmert}@unibas.ch Abstract

More information

Analyzing Tie-Breaking Strategies for the A Algorithm

Analyzing Tie-Breaking Strategies for the A Algorithm Analyzing Tie-reaking Strategies for the A Algorithm Augusto. orrêa, André G. Pereira 2 and Marcus Ritt 2 University of asel, Switzerland 2 Federal University of Rio Grande do Sul, razil {abcorrea, agpereira,

More information

Symbolic Search and Abstraction Heuristics for Cost-Optimal Planning

Symbolic Search and Abstraction Heuristics for Cost-Optimal Planning Symbolic Search and Abstraction Heuristics for Cost-Optimal Planning Álvaro Torralba Advisors: Daniel Borrajo and Carlos Linares López Universidad Carlos III de Madrid June 2, 2015 Álvaro Torralba PhD

More information

About Partial Order Reduction in Planning and Computer Aided Verification

About Partial Order Reduction in Planning and Computer Aided Verification About Partial Order Reduction in Planning and Computer Aided Verification Martin Wehrle University of Basel, Switzerland University of Freiburg, Germany martin.wehrle@unibas.ch Malte Helmert University

More information

Towards Lightweight Integration of SMT Solvers

Towards Lightweight Integration of SMT Solvers Towards Lightweight Integration of SMT Solvers Andrei Lapets Boston University Boston, USA lapets@bu.edu Saber Mirzaei Boston University Boston, USA smirzaei@bu.edu 1 Introduction A large variety of SMT

More information

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago Model-Checking Concurrent PGM Temporal SPEC Model Checker Yes/No Counter Example Approach Build the global state graph Algorithm

More information

Distance? Who Cares? Tailoring Merge-and-Shrink Heuristics to Detect Unsolvability

Distance? Who Cares? Tailoring Merge-and-Shrink Heuristics to Detect Unsolvability Distance? Who Cares? Tailoring Merge-and-Shrink Heuristics to Detect Unsolvability Jörg Hoffmann and Peter Kissmann and Alvaro Torralba 1 Abstract. Research on heuristic functions is all about estimating

More information

MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS

MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS TKK Reports in Information and Computer Science Espoo 2008 TKK-ICS-R3 MODEL CHECKING TIMED SAFETY INSTRUMENTED SYSTEMS Jussi Lahtinen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF

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

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

EE249 - Fall 2012 Lecture 18: Overview of Concrete Contract Theories. Alberto Sangiovanni-Vincentelli Pierluigi Nuzzo

EE249 - Fall 2012 Lecture 18: Overview of Concrete Contract Theories. Alberto Sangiovanni-Vincentelli Pierluigi Nuzzo EE249 - Fall 2012 Lecture 18: Overview of Concrete Contract Theories 1 Alberto Sangiovanni-Vincentelli Pierluigi Nuzzo Outline: Contracts and compositional methods for system design Where and why using

More information

IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata

IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata ICTAC 09 IMITATOR: A Tool for Synthesizing Constraints on Timing Bounds of Timed Automata Étienne ANDRÉ Laboratoire Spécification et Vérification LSV, ENS de Cachan & CNRS Étienne ANDRÉ (LSV) ICTAC 09

More information

CS360 Homework 12 Solution

CS360 Homework 12 Solution CS360 Homework 12 Solution Constraint Satisfaction 1) Consider the following constraint satisfaction problem with variables x, y and z, each with domain {1, 2, 3}, and constraints C 1 and C 2, defined

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

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel Foundations of AI 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard and Bernhard Nebel Contents Agents that think rationally The wumpus world Propositional logic: syntax and semantics

More information

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check

More information

Complexity Theory of Polynomial-Time Problems

Complexity Theory of Polynomial-Time Problems Complexity Theory of Polynomial-Time Problems Lecture 1: Introduction, Easy Examples Karl Bringmann and Sebastian Krinninger Audience no formal requirements, but: NP-hardness, satisfiability problem, how

More information

Application: Planning as Satisfiability (SATPlan) (Pre Lecture)

Application: Planning as Satisfiability (SATPlan) (Pre Lecture) Application: Planning as Satisfiability (SATPlan) (Pre Lecture) Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2018 Dantam (Mines CSCI-561) Application: Planning as Satisfiability (SATPlan)

More information

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods Sanjit A. Seshia and Randal E. Bryant Computer Science Department Carnegie Mellon University Verifying Timed Embedded Systems

More information

TIMED automata, introduced by Alur and Dill in [3], have

TIMED automata, introduced by Alur and Dill in [3], have 1 Language Inclusion Checking of Timed Automata with Non-Zenoness Xinyu Wang, Jun Sun, Ting Wang, and Shengchao Qin Abstract Given a timed automaton P modeling an implementation and a timed automaton S

More information

UPPAAL tutorial What s inside UPPAAL The UPPAAL input languages

UPPAAL tutorial What s inside UPPAAL The UPPAAL input languages UPPAAL tutorial What s inside UPPAAL The UPPAAL inut languages 1 UPPAAL tool Develoed jointly by Usala & Aalborg University >>8,000 downloads since 1999 1 UPPAAL Tool Simulation Modeling Verification 3

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

Accuracy of Admissible Heuristic Functions in Selected Planning Domains

Accuracy of Admissible Heuristic Functions in Selected Planning Domains Accuracy of Admissible Heuristic Functions in Selected Planning Domains Malte Helmert Robert Mattmüller Albert-Ludwigs-Universität Freiburg, Germany AAAI 2008 Outline 1 Introduction 2 Analyses 3 Summary

More information

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations (Extended Abstract) Gaoyan Xie, Cheng Li and Zhe Dang School of Electrical Engineering and

More information

Vinter: A Vampire-Based Tool for Interpolation

Vinter: A Vampire-Based Tool for Interpolation Vinter: A Vampire-Based Tool for Interpolation Kryštof Hoder 1, Andreas Holzer 2, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. This paper describes the Vinter

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

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

More information

Distance Estimates for Planning in the Discrete Belief Space

Distance Estimates for Planning in the Discrete Belief Space Distance Estimates for Planning in the Discrete Belief Space Jussi Rintanen Albert-Ludwigs-Universität Freiburg Institut für Informatik Georges-Köhler-Allee, 79110 Freiburg im Breisgau Germany Abstract

More information

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems Extended abstract Andrzej Zbrzezny IMCS, Jan Długosz University in Częstochowa, Al. Armii Krajowej 13/15, 42-2

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 8. Satisfiability and Model Construction Davis-Putnam-Logemann-Loveland Procedure, Phase Transitions, GSAT Joschka Boedecker and Wolfram Burgard and Bernhard Nebel

More information

Multimapping Abstractions and Hierarchical Heuristic Search

Multimapping Abstractions and Hierarchical Heuristic Search Multimapping Abstractions and Hierarchical Heuristic Search Bo Pang Computing Science Department University of Alberta Edmonton, AB Canada T6G 2E8 (bpang@ualberta.ca) Robert C. Holte Computing Science

More information

Timed Automata: Semantics, Algorithms and Tools

Timed Automata: Semantics, Algorithms and Tools Timed Automata: Semantics, Algorithms and Tools Johan Bengtsson and Wang Yi Uppsala University {johanb,yi}@it.uu.se Abstract. This chapter is to provide a tutorial and pointers to results and related work

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

An introduction to Uppaal and Timed Automata MVP5 1

An introduction to Uppaal and Timed Automata MVP5 1 An introduction to Uppaal and Timed Automata MVP5 1 What is Uppaal? (http://www.uppaal.com/) A simple graphical interface for drawing extended finite state machines (automatons + shared variables A graphical

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard, Maren Bennewitz, and Marco Ragni Albert-Ludwigs-Universität Freiburg Contents 1 Agents

More information

CS357: CTL Model Checking (two lectures worth) David Dill

CS357: CTL Model Checking (two lectures worth) David Dill CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching

More information

Real-Time Systems. Lecture 15: The Universality Problem for TBA Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany

Real-Time Systems. Lecture 15: The Universality Problem for TBA Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany Real-Time Systems Lecture 15: The Universality Problem for TBA 2013-06-26 15 2013-06-26 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: Extended Timed

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Introduction to Arti Intelligence

Introduction to Arti Intelligence Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems

Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems University of South Florida Scholar Commons Graduate Theses and Dissertations Graduate School 1-1-2013 Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems Yingying

More information

Theory of Computer Science. Theory of Computer Science. E1.1 Motivation. E1.2 How to Measure Runtime? E1.3 Decision Problems. E1.

Theory of Computer Science. Theory of Computer Science. E1.1 Motivation. E1.2 How to Measure Runtime? E1.3 Decision Problems. E1. Theory of Computer Science May 18, 2016 E1. Complexity Theory: Motivation and Introduction Theory of Computer Science E1. Complexity Theory: Motivation and Introduction Malte Helmert University of Basel

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

Bounded LTL Model Checking with Stable Models

Bounded LTL Model Checking with Stable Models Bounded LTL Model Checking with Stable Models Keijo Heljanko and Ilkka Niemelä Helsinki University of Technology Dept. of Computer Science and Engineering Laboratory for Theoretical Computer Science P.O.

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Counterexamples for Robotic Planning Explained in Structured Language

Counterexamples for Robotic Planning Explained in Structured Language Counterexamples for Robotic Planning Explained in Structured Language Lu Feng 1, Mahsa Ghasemi 2, Kai-Wei Chang 3, and Ufuk Topcu 4 Abstract Automated techniques such as model checking have been used to

More information

Clock Matrix Diagrams

Clock Matrix Diagrams Clock Matrix Diagrams U N I V E R S I T A S S A R A V I E N I S S Bachelor s Thesis Daniel Fass daniel@react.cs.uni-sb.de Reactive Systems Group Department of Computer Science Universität des Saarlandes

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

CS154, Lecture 18: 1

CS154, Lecture 18: 1 CS154, Lecture 18: 1 CS 154 Final Exam Wednesday December 12, 12:15-3:15 pm STLC 111 You re allowed one double-sided sheet of notes Exam is comprehensive (but will emphasize post-midterm topics) Look for

More information

Theory of Computer Science

Theory of Computer Science Theory of Computer Science E1. Complexity Theory: Motivation and Introduction Malte Helmert University of Basel May 18, 2016 Overview: Course contents of this course: logic How can knowledge be represented?

More information

Local Search Topology in Planning Benchmarks: An Empirical Analysis

Local Search Topology in Planning Benchmarks: An Empirical Analysis Local Search Topology in Planning Benchmarks: An Empirical Analysis Jörg Hoffmann Institute for Computer Science Albert Ludwigs University Georges-Köhler-Allee, Geb. 52 79110 Freiburg, Germany Abstract

More information

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Analysis of a Boost Converter Circuit Using Linear Hybrid Automata

Analysis of a Boost Converter Circuit Using Linear Hybrid Automata Analysis of a Boost Converter Circuit Using Linear Hybrid Automata Ulrich Kühne LSV ENS de Cachan, 94235 Cachan Cedex, France, kuehne@lsv.ens-cachan.fr 1 Introduction Boost converter circuits are an important

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

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

Scenario Graphs and Attack Graphs

Scenario Graphs and Attack Graphs Scenario Graphs and Attack Graphs Oleg Mikhail Sheyner CMU-CS-04-122 April 14, 2004 School of Computer Science Computer Science Department Carnegie Mellon University Pittsburgh, PA Thesis Committee: Jeannette

More information

Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs

Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs Ashutosh Gupta Corneliu Popeea Andrey Rybalchenko Institut für Informatik, Technische Universität München Germany {guptaa,popeea,rybal}@in.tum.de

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

Algorithms Exam TIN093 /DIT602

Algorithms Exam TIN093 /DIT602 Algorithms Exam TIN093 /DIT602 Course: Algorithms Course code: TIN 093, TIN 092 (CTH), DIT 602 (GU) Date, time: 21st October 2017, 14:00 18:00 Building: SBM Responsible teacher: Peter Damaschke, Tel. 5405

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Minimal counter-example generation for SPIN

Minimal counter-example generation for SPIN Minimal counter-example generation for SPIN Paul Gastin 1 and Pierre Moro 2 1 LSV, ENS Cachan & CNRS 61, Av. du Prés. Wilson, F-94235 Cachan Cedex, France, Paul.Gastin@lsv.ens-cachan.fr 2 LIAFA, Univ.

More information