AICslides_ppt2010

AICslides_ppt2010 - Abstraction Decomposition Relevance...

Info icon This preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
Abstraction, Decomposition, Relevance Coming to Grips with Complexity in Verification Ken McMillan Microsoft Research
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Need for Formal Methods that Scale We design complex computing systems by debugging Design something approximately correct Fix it where it breaks (repeat) As a result, the primary task of design is actually verification Verification consumes majority of resources in chip design Cost of small errors is huge ($500M for one error in 1990’s) Security vulnerabilities have enormous economic cost The ugly truth: we don’t know how to design correct systems Correct design is one of the grand challenges of computing Verification by logical proof seems a natural candidate, but... Constructing proofs of systems of realistic scale is an overwhelming task Automation is clearly needed
Image of page 2
Model Checking yes! no! p q Model Checker p q System Model G(p ) F q) Logical Specification Counterexample A great advantage of model checking is the ability to produce behavioral counterexamples to explain what is going wrong.
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Temporal logic (LTL) ...
Image of page 4
Types of temporal properties We will focus on safety properties.
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Safety and reachability I States = valuations of state variables Transitions = execution steps Initial state(s) F Bad state(s) Breadth-first search Counterexample!
Image of page 6
Reachable state set I F Remove the “bug” Breadth-first search Fixed point = reachable state set Safety property verified! Model checking is a little more complex than this, but reachability captures the essence for our purposes. Model checking can find very subtle bugs in circuits and protocols, but suffers from state explosion .
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Symbolic Model Checking Avoid building state graph by using succinct representation for large sets 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 d d d d d d d d c c c c 0 1 0 1 0 1 0 1 0 1 0 1 0 1 b b a Binary Decision Diagrams (Bryant) 0 0 0 1
Image of page 8
Symbolic Model Checking Avoid building state graph by using succinct representation for large sets Multiprocessor Cache Coherence Protocol S/F network protocol host other hosts Abstract model Symbolic Model Checking detected very subtle bugs Allowed scalable verification, avoiding state explosion
Image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
The Real World Must deal with order 100K state holding elements (registers) State space is exponential in the number of registers Software complexity is greater How do we cope with the complexity of real systems? To make model checking a useful tool for engineers, we had to find ways to cut this problem down to size. To do this, we apply three key concepts: decomposition , abstraction and refinement .
Image of page 10
Deep v. Shallow Properties A property is shallow if, in some sense, you don’t have to know very much information about the system to prove it. Deep property: System implements x86 Shallow property: Bus bridge never drops transactions Our first job is to reduce a deep property to a multitude of shallow properties that we can handle by abstraction .
Image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Functional Decomposition S/F network protocol host other hosts Abstract model CAM T A B L E S ~30K lines of verilog Shallow properties track individual transactions though RTL...
Image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern