Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha 21364 Microprocessor.

Slides:



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

The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Catching Bugs in Software Rajeev Alur Systems Design Research Lab University of Pennsylvania
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
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.
- Verifying “Golden” reused IPs The Evil’s in the Edits William C Wallace Texas Instruments Nitin Jayaram Texas Instruments Nitin Mhaske Atrenta Inc Vijay.
Using Formal Specifications to Monitor and Guide Simulation: Verifying the Cache Coherence Engine of the Alpha Microprocessor Serdar Tasiran Systems.
What are Formal Verification Methods Mathematically based languages, techniques and tools for specifying and verifying systems Language – Clear unambiguous.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
MotoHawk Training Model-Based Design of Embedded Systems.
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
Leveraging Assertion Based Verification by using Magellan Michal Cayzer.
The Concept of Computer Architecture
Digital Systems Emphasis for Electrical Engineering Students Digital Systems skills are very valuable for electrical engineers Digital systems are the.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
By Ryan Mowry.  Graphical models of system  Entire system or just parts  Complex systems easier to understand  “Capture key requirements and demonstrate.
Data Structures and Programming.  John Edgar2.
By D. Beyer et. al. Simon Fraser University (Spring 09) Presentation By: Pashootan Vaezipoor.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
An Introduction to MBT  what, why and when 张 坚
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Ed Brinksma Dept. of CS, University of Twente, NL joint work with Angelika Mader Monterey Workshop 2003 Chicago Verification Modelling of Embedded systems.
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
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.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Semi-automatic Property Generation for the Formal Verification of a Satellite On-board System Wesley Gonçalves Silva.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Computer Organization and Design Computer Abstractions and Technology
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Quality Driven SystemC Design By Nasir Mahmood. Hybrid Approach The idea here is to combine the strengths of simulation – namely the ability to handle.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
ICS 216 Embedded Systems Validation and Test Instructor: Professor Ian G. Harris Department of Computer Science University of California Irvine.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(UIT), M.S(S.E) AAU Denmark Assistant Professor Department.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
Verification of FT System Using Simulation Petr Grillinger.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
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.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
September 1999Compaq Computer CorporationSlide 1 of 16 Verification of cache-coherence protocols with TLA+ Homayoon Akhiani, Damien Doligez, Paul Harter,
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Information Systems Development
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Formal Methods for Finding Bugs in Concurrent Software
Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs and, more generally, Design Tools and Technologies
OPERATING SYSTEMS MEMORY MANAGEMENT BY DR.V.R.ELANGOVAN.
Presentation transcript:

Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor Serdar Tasiran Koç University, Istanbul, Turkey (formerly Compaq/HP Systems Research Center) Yuan Yu (Microsoft Research, formerly Compaq) Brannon Batson (Intel, formerly Compaq)

But first Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs or “Why should you care?”

French Guyana, June 4, 1996 $800 million software failure

Mars, July 4, 1997 Lost contact due to real-time priority inversion bug

Faulty division algorithm (Intel Pentium) $475 million replacement cost Faulty floppy disk controller (Toshiba) $2.1 billion court settlement

$4 billion development effort > 50% system integration & validation cost

400 horses 100 microprocessors

Feb. 17, 2003Comp 302, Spring 2003 Cost of Finding Flaws Late

SCIENCE Natural Systems ENGINEERING Artificial Systems PURE Abstract Systems APPLIED Concrete Systems THEORY EXPERIMENTDESIGN ANALYSIS Veri/Falsi fication

DESIGN VERI/FALSIFICATION INFORMAL (ad hoc) by simulation by test FORMAL (systematic) by proof by algorithm Poor coverage High recovery cost

Koç University – ECE Graduate Program Typical Abstraction Layers for a Hardware Design System (Behavioral) LevelRegister Transfer Level (RTL)Gate LevelTransistor LevelLayout Level

Koç University – ECE Graduate Program Design Process Design : specify and enter the design intent Implement: refine the design through all phases Verify: verify the correctness of design and implementation

Koç University – ECE Graduate Program

Flavors of Verification Design Verification: Does the design make sense? If I implemented it as designed, would it satisfy the design requirements? System (Behavioral) LevelRegister Transfer Level (RTL)Gate LevelTransistor LevelLayout Level Implementation Verification: Is the implementation at the lower layer of abstraction consistent with the higher level?

Koç University – ECE Graduate Program Systems Design and Verification Challenges Heterogeneity (analog, digital, HW/SW) Complexity (~billion transistors, ~millions of lines of code) Time-to-market

Role of Computer-Aided Design and Verification Tools: Helping humans cope Transistors Processor Complexity Avg. Human IQ K 10K 100K 1M 10M Pentium Pentium Pro PPC601 PPC MIPS R Intelligence Quotient

Formal Verification Tools Verifier Description of system to be verified: - Finite state machine - Code written in a hardware description language Specification: -Temporal logic formula - Algorithm- or protocol-level description for design Yes No Error trace G(p  F q) p q

Simulation vs. Formal Verification n Simulation Not completeNot complete Need to generate expected behaviorNeed to generate expected behavior Difficult to cover corner casesDifficult to cover corner cases CPU intensiveCPU intensive –have to run billions of cycles Can handle large systemsCan handle large systems n Formal Verification Complete wrt specification No need to generate expected behavior Corner cases are automatically taken care of Most of the state-of-the-art methods are memory intensive Memory usage is strongly related with the size of systems to be verified

Exploring the State Space of an FSM Implicit methods: Represent sets of states with decision diagrams Representation size not proportional to number of states But still memory limited

10 stars transistors 10 states 7 100,000

The Moral … Verification is a serious problem Formal verification methods are great, but not practical yet on complex systems Simulation is practical, but can’t provide strong enough guarantees Next part of talk: A hybrid technique: Simulation + formal verification