The Model Checking Paradigm

Slides:



Advertisements
Similar presentations
Request Dispatching for Cheap Energy Prices in Cloud Data Centers
Advertisements

SpringerLink Training Kit
Luminosity measurements at Hadron Colliders
From Word Embeddings To Document Distances
Choosing a Dental Plan Student Name
Virtual Environments and Computer Graphics
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
THỰC TIỄN KINH DOANH TRONG CỘNG ĐỒNG KINH TẾ ASEAN –
D. Phát triển thương hiệu
NHỮNG VẤN ĐỀ NỔI BẬT CỦA NỀN KINH TẾ VIỆT NAM GIAI ĐOẠN
Điều trị chống huyết khối trong tai biến mạch máu não
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Nasal Cannula X particulate mask
Evolving Architecture for Beyond the Standard Model
HF NOISE FILTERS PERFORMANCE
Electronics for Pedestrians – Passive Components –
Parameterization of Tabulated BRDFs Ian Mallett (me), Cem Yuksel
L-Systems and Affine Transformations
CMSC423: Bioinformatic Algorithms, Databases and Tools
Some aspect concerning the LMDZ dynamical core and its use
Bayesian Confidence Limits and Intervals
实习总结 (Internship Summary)
Current State of Japanese Economy under Negative Interest Rate and Proposed Remedies Naoyuki Yoshino Dean Asian Development Bank Institute Professor Emeritus,
Front End Electronics for SOI Monolithic Pixel Sensor
Face Recognition Monday, February 1, 2016.
Solving Rubik's Cube By: Etai Nativ.
CS284 Paper Presentation Arpad Kovacs
انتقال حرارت 2 خانم خسرویار.
Summer Student Program First results
Theoretical Results on Neutrinos
HERMESでのHard Exclusive生成過程による 核子内クォーク全角運動量についての研究
Wavelet Coherence & Cross-Wavelet Transform
yaSpMV: Yet Another SpMV Framework on GPUs
Creating Synthetic Microdata for Higher Educational Use in Japan: Reproduction of Distribution Type based on the Descriptive Statistics Kiyomi Shirakawa.
MOCLA02 Design of a Compact L-­band Transverse Deflecting Cavity with Arbitrary Polarizations for the SACLA Injector Sep. 14th, 2015 H. Maesaka, T. Asaka,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Fuel cell development program for electric vehicle
Overview of TST-2 Experiment
Optomechanics with atoms
داده کاوی سئوالات نمونه
Inter-system biases estimation in multi-GNSS relative positioning with GPS and Galileo Cecile Deprez and Rene Warnant University of Liege, Belgium  
ლექცია 4 - ფული და ინფლაცია
10. predavanje Novac i financijski sustav
Wissenschaftliche Aussprache zur Dissertation
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Particle acceleration during the gamma-ray flares of the Crab Nebular
Interpretations of the Derivative Gottfried Wilhelm Leibniz
Advisor: Chiuyuan Chen Student: Shao-Chun Lin
Widow Rockfish Assessment
SiW-ECAL Beam Test 2015 Kick-Off meeting
On Robust Neighbor Discovery in Mobile Wireless Networks
Chapter 6 并发:死锁和饥饿 Operating Systems: Internals and Design Principles
You NEED your book!!! Frequency Distribution
Y V =0 a V =V0 x b b V =0 z
Fairness-oriented Scheduling Support for Multicore Systems
Climate-Energy-Policy Interaction
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Ch48 Statistics by Chtan FYHSKulai
The ABCD matrix for parabolic reflectors and its application to astigmatism free four-mirror cavities.
Measure Twice and Cut Once: Robust Dynamic Voltage Scaling for FPGAs
Online Learning: An Introduction
Factor Based Index of Systemic Stress (FISS)
What is Chemistry? Chemistry is: the study of matter & the changes it undergoes Composition Structure Properties Energy changes.
THE BERRY PHASE OF A BOGOLIUBOV QUASIPARTICLE IN AN ABRIKOSOV VORTEX*
Quantum-classical transition in optical twin beams and experimental applications to quantum metrology Ivano Ruo-Berchera Frascati.
The Toroidal Sporadic Source: Understanding Temporal Variations
FW 3.4: More Circle Practice
ارائه یک روش حل مبتنی بر استراتژی های تکاملی گروه بندی برای حل مسئله بسته بندی اقلام در ظروف
Decision Procedures Christoph M. Wintersteiger 9/11/2017 3:14 PM
Limits on Anomalous WWγ and WWZ Couplings from DØ
Presentation transcript:

The Model Checking Paradigm Ken McMillan Microsoft Research

Overview The model checking paradigm Fundamental unresolved problems in the paradigm Strategies for resolving these problems What to look for in model checking talks

Origins of model checking Problem: Programming is unreliable 1967: Floyd/Hoare/Dijkstra Apply logic to programming “Can’t specify” problem “Proofs are hard” problem … 1977: Pnueli Apply temporal logic “Can’t specify” problem “Proofs are hard” problem … 1981: Clarke/Emerson/Sifakis Temporal logic model checking “Proofs are free!” …

Model checking paradigm ? ⊨ 𝑝 𝐴𝐺 𝑝⇒𝐴𝐹 𝑞 𝑞 Finite-state system Temporal logic formula For the right logic, this problem can be solved in linear time. That is, proofs are free. The trick is users must squeeze his/her problem into this form. An application of this paradigm is “model checking”. We define class of systems and properties such that an algorithm can determine if a system has a property.

Every solution creates new problems + proofs are free! + counter-proofs are free! “golden baby” CON - “can’t scale” problem - “can’t model” problem - “can’t specify” problem The new problems are tightly inter-related…

Model checking whack-a-mole When you push here, it pops out there… Kripke structure Sequential circuit + can model - can’t scale PSPACE-completeness or “state explosion” One process 𝑁 processes + can model - no free proofs PMCP is undecidable! CTL LTL, CTL* + can specify - can’t scale PSPACE completeness

Research strategies Apply magic Give and take away Lower expectations Researchers quickly developed a set of basic strategies for playing model checking whack-a-mole Apply magic Give and take away Lower expectations Throw out the baby Almost every model checking paper applies at least one of these strategies. Each strategy comes with benefits and pitfalls…

Strategy #1: Apply magic Solve an intractable problem by exploiting some “structure” in practical instances. Some example techniques Symbolic model checking Symmetry reductions “Partial order” reductions These generally require clever algorithms that operate directly on a reduced form. Direct attack on the “can’t scale” problem.

Example: BDD-based Model Checking Avoid building state graph by using succinct representation for large sets Binary Decision Diagrams (Bryant) 1 d c b a 1 d c b a

Exploiting structure symbolically (?) Reachable states as BDD 1 only two nodes at boundary A B mutual information = 1 bit Pitfall: Magic is unreliable. You can’t fool asymptotic complexity. Pitfall: Biases will creep into your experiments. Beware of benchmarking!

Strategy #2: Give and take away Expand expressiveness, but place careful restrictions to avoid undecidability. Example techniques: Classes of parameterized systems + ITL Timed automata + timed logics “Linear” hybrid systems Well-structure transition systems Statistical model checking Visibly push-down automata Data independence… GATA usually also requires Magic due to intractability. Often a GATA paper is followed by a series of AM papers.

Example: WSTS unbounded A B Control reachability undecidable! finite-state finite-state A B finite-state lossy! Control reachability decidable! Magic is often applied to this problem due to the horrifying complexity. Pitfall: Restrictions may become quite idiosyncratic. “One system per paper” problem. Pitfall: Reducing the proof to this form may be harder than doing the proof another way (do we really solve “proofs are hard”?).

Strategy #3: Lower expectations Compromise one or more of the five criteria. Much of the practical work in model checking takes this approach. 3a: Give up “proofs are free” Bounded model checking Statistical model checking Runtime monitoring Symbolic testing Context-bounded, etc… 3b: Give up some of “can specify” Check simple, shallow properties Apply relaxation methods (more on this later…) CEGAR, PBA, interpolation, IC3, etc…

Strategy #3: Lower expectations (cont) 3c: Give up “counter-proofs are free” Use “lossy” approximations Non-linear hybrid systems Abstract interpretation 3d: Give up specifications altogether (!) In the real world, specifications are hard to get Infer specifications from context Defect patterns Equivalence checking Differential assertion checking These methods give neither proofs not counter-proofs Pitfall: If you lower expectations, you may also lower practical utility!

Example: BMC Consider only 𝑁 steps of execution (for fixed 𝑁) Build a formula that describes bad executions: 𝑠 0 𝐼( 𝑠 0 ) 𝑇( 𝑠 0 , 𝑠 1 ) 𝑠 1 𝑠 𝑁−1 𝑠 𝑁 𝑇( 𝑠 𝑁−1 , 𝑠 𝑁 ) … 𝐹( 𝑠 𝑁 ) ∧ Use SAT solver (magic!) to find one. Lowering expectations introduces new problems: how big should 𝑁 be?

Strategy #4: Throw out the baby Apply human effort judiciously so that proofs are not free but hopefully cheap. Abstraction Human narrows the range of proofs Template invariant methods (Houdini) “Invisible” invariants Quantified invariants, cardinality reasoning, … Manual localization Decomposition Machine checks lemmas in the human’s proof Auxiliary constructs and transformations Network invariants, etc…

Example: Compositional methods We want to verify that a system of low-level components satisfies a high-level specification: 𝐻 𝐿 1 𝐿 2 𝐿 3 𝐿 ⇒

Example: compositional methods Manually decompose the proof into local lemmas for each component… Verify each component satisfies its specification 𝐻 ⇒ 𝐿 1 𝐿 2 𝐿 3 V Verify component abstractions imply high-level spec. 𝑀 1 𝑀 2 𝑀 3 ⇒ abstract component specs 𝐿 Throwing out the baby is the only strategy that really scales (also allows LE!) Pitfall: Doing proofs gives most people a headache!

Relaxation Relaxation is a basic strategy for optimization under constraints: Start with constraints you don’t know how to solve. Relax by removing difficult constraints Solve the relaxed problem Add constraints to remove bogus solutions The exemplar of relaxation is ILP.

Cutting planes method Problem: find integral solution of linear constraints Relaxation: remove integer constraint Refine constraints to remove bad solution Bad solution The cutting plane is a generalization. http://ocw.mit.edu/courses/sloan-school-of-management/15-053-optimization-methods-in-management-science-spring-2013/tutorials/MIT15_053S13_tut11.pdf

Relaxation and model checking Proof or a counter-proof is solving constraints. Make the search easier by relaxing the constraints. Relaxation in the space of counter-proofs: Counterexample-guided abstraction refinement (CEGAR) As we refine, the counter-proof candidates are reduced Relaxation in the space of proofs: Interpolation/IC3 As we refine, the proof candidates are reduced Refinement always requires generalization Good heuristic generalization is the key Relaxation is often useful after Lower Expectations. For proving full functional correctness, significant relaxations may not be possible.

Example: ICE learning invariants Inductive invariant constraints: initiation consecution safety Relaxed constraints: - must not contain refinement if → then + must contain relaxed solution IC3, interpolation, etc. are also relaxations in the space of proofs Pitfall: without good generalization, relaxation leads to infinite refinements.

Ask when reading a paper… What, if any, strategies are being used to resolve the basic tensions in the model checking paradigm? Apply magic Give and take away Lower expectations Throw out the baby Is a relaxation occurring? If so, what generalization tactic is used? Has the paper avoided the strategy’s pitfalls? Has a useful compromise been made among the five inconsistent criteria? Does it really solve “proofs are hard”.

Conclusion Model checking isn’t a technique, it’s a paradigm. An approach to formulating and solving a problem. The content of a research paradigm is a set of unresolved problems and strategies for resolving them. If all problems are solved, it’s not research! The model checking paradigm was fully in place by around 1990. Per Thomas Kuhn, the inability to resolve certain problems within the paradigm eventually leads to its overthrow. Ask yourself at CAV if anything you see looks like the seed of a new paradigm.