Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Functional Decompositions for Hardware Verification With a few speculations on formal methods for embedded systems Ken McMillan.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Certified Typechecking in Foundational Certified Code Systems Susmit Sarkar Carnegie Mellon University.
Promising Directions in Hardware Design Verification Shaz Qadeer Serdar Tasiran Compaq Systems Research Center.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Foundational Certified Code in a Metalogical Framework Karl Crary and Susmit Sarkar Carnegie Mellon University.
Timed Automata.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by Intel.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
ISBN Chapter 3 Describing Syntax and Semantics.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
Demonstration Of SPIN By Mitra Purandare
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
28/6/05 ICFI05 1 A generic approach for the automatic verification of featured, parameterised systems Alice Miller and Muffy Calder University of Glasgow.
Synergy: A New Algorithm for Property Checking
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Verification of Hierarchical Cache Coherence Protocols for Future Processors Student: Xiaofang Chen Advisor: Ganesh Gopalakrishnan.
Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Transaction Based Modeling and Verification of Hardware Protocols Xiaofang Chen, Steven M. German and Ganesh Gopalakrishnan Supported in part by SRC Contract.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
1 PCI transaction ordering verification using trace inclusion refinement Mike Jones UV Meeting October 4, 1999.
Thread-modular Abstraction Refinement Thomas A. Henzinger, et al. CAV 2003 Seonggun Kim KAIST CS750b.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Model-based Methods for Web Service Verification.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs By Koen Claessen, Juhn Hughes ME: Mike Izbicki.
Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Verification & Validation By: Amir Masoud Gharehbaghi
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Understanding ADTs CSE 331 University of Washington.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
Synergy: A New Algorithm for Property Checking Bhargav S. Gulavani (IIT Bombay)‏ Yamini Kannan (Microsoft Research India)‏ Thomas A. Henzinger (EPFL)‏
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Carnegie Mellon Vadim Zaliva, Franz Franchetti Carnegie Mellon University Department of Electrical and Computer Engineering Funded by the DARPA I2O HACMS.
Writing, Verifying and Exploiting Formal Specifications for Hardware Designs Chapter 3: Verifying a Specification Presenter: Scott Crosby.
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
Formal verification of distance vector routing protocols.
Survey on the Formal Verification Dept. of Nuclear and Quantum Engineering NICIEL Myung Jun Song.
Formal Methods: Model Checkers and Theorem Provers
CSE-321 Programming Languages Simply Typed -Calculus
Michael D. Jones, Ganesh Gopalakrishnan
(One-Path) Reachability Logic
Relatively Complete Refinement Type System for Verification of Higher-Order Non-deterministic Programs Hiroshi Unno (University of Tsukuba) Yuki Satake.
Aspect Validation: Connecting Aspects and Formal Methods
Property Directed Reachability with Word-Level Abstraction
IS 2935: Developing Secure Systems
Automated Extraction of Inductive Invariants to Aid Model Checking
Predicate Abstraction
Decidability continued….
Program correctness Model-checking CTL
Presentation transcript:

Transaction Ordering Verification using Trace Inclusion Refinement Mike Jones 11 January 2000

2 Case Study Check the producer consumer property for PCI 2.1 protocol. Which formal methods are best suited for reasoning about large protocols over unbounded branching networks? Resulting tools apply to designing, not implementing, a protocol over unbounded branching networks.

3 Formal methods (in 1 slide) Formal = truth is based on form, not meaning. Syntax, not semantics, matters. Theorem proving –expressive, interactive, machine-checked Model checking –unexpressive, automatic, complexity Hybrid techniques Intel, HP, Compaq, Microsoft, AMD, SRI, Lucent, VSIA...

4 Why PCI? It works. Why verify it? Published standard violated prod/cons. Stationary target. Beyond current formal techniques.

5 Producer/Consumer for PCI... p c d f...for all networks and all executions.

6 Solution Carefully reduce the problem Check the reduced problem Generalize results

7 Related work Other PCI work. –liveness [Corella,97] –state machine specifications [Clarke,99] –U of Utah [Mokkedem et al,00] Unbounded branching networks. –predicate transformers[Kesten,97] –predicate abstraction[Das,99] –Combined method [Abdulla,99]

8 Careful reduction Reduce arbitrary PCI networks to N networks. Reduce infinite state to finite states. Show that PCI is a trace inclusion refinement of the reduced protocol.

9 Structural Reduction

10 Structural Reduction

11 Structural Reduction pd c f pc d f pd c f

12 Unrelated paths and agents... p c d f p c d f 

13 State reduction PCI networks have an infinite # of states. Ignore certain transactions while preserving the PC property.

14 Unrelated Transactions p... fwdwdwc cdwp d’cp pc pdd dp dwc dw fw cdw  p

15 Trace Inclusion Refinement For every trace in the concrete protocol.

16 Trace Inclusion Refinement For every trace in the concrete protocol. There exists a trace in the reduced protocol...

17 Trace Inclusion Refinement For every trace in the concrete protocol. There exists a trace in the reduced protocol... Such that the reduction of each concrete state is equal to the corresponding abstract state.

18...Applied to PCI Write a set of rules inductively defining the reachable states in PCI and reduced model.

19 Check reduced model Used SML and murphi model checker. Rules based input languages 3,176 states checked in 67 seconds. Property was satisfied.

20 Changing the model A different protocol –PCI without local master IDs –About 1/2 a day of effort –Plausible violation found in under 10 minutes A different property –When are two transactions received in order? –Useful for an on-chip bus being considered for SOC –1/2 an hour additional effort

21 Conclusions A combination of rule-based notation, theorem proving and model checking works. Easy to modify both the protocol and the property being checked.

22 Future work Automate the refinement proof. Tools for deriving reduced protocols for mutations of protocols. Anyone have a protocol over an unbounded network they need studied?

23

24 Outline Lay the groundwork Overview PCI and the property Our solution What makes our solution so good Discussion and conclusions

25 Why Formal Methods? simulation impossible: infinite states. Does not guaruntee correctness. Forced to identify assumptions. Capitol critical applications.

26 Structural Reduction Reduce any instance of PC to one of 3 abstract instances. Allows us to get complete structural coverage by checking 3 networks. Supported by a machine-checked proof. pd c f pc d f pd c f

27 Producer/Consumer for PCI Producer writes a data value and sets a flag. Consumer reads the flag then reads the data Assuming –no intervening writes –flag gets written before it gets read Then the consumer gets the new data value. Check this for ALL executions in ALL networks

28 What makes this problem hard All networks and all executions. Reasoning about PCI networks in general, using induction, is hard. Reasoning about individual PCI networks equals inefficient simulation.

29 Trace Inclusion Refinement