Lach1MAPLD 2005/241-W Accessible Formal Verification for Safety-Critical FPGA Design BOF-W Presentation John Lach, Scott Bingham, Carl Elks, Travis Lenhart.

Slides:



Advertisements
Similar presentations
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Advertisements

Testing and Quality Assurance
EECE499 Computers and Nuclear Energy Electrical and Computer Eng Howard University Dr. Charles Kim Fall 2013 Webpage:
Software Quality Assurance Plan
Chapter 4 Quality Assurance in Context
Integrated Messaging and Process Analysis Control Techniques  SEA Inc. Proprietary Data – Please Protect Accordingly 6100 Uptown Blvd., NE, Suite 700,
Off-The-Shelf Software Components in systems important to safety (EPR - European Pressurized water Reactor) Nguyen N.Q. THUY RESEARCH AND DEVELOPMENT DIVISION.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
Illinois Institute of Technology
João Batista Camargo Jr Safety Analysis Group (GAS) Computer and Digital Systems Engineering Department (PCS) Escola Politécnica.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
1 Systems Validation & Verification, Quality and Standards (CSE4431) Dr Sita Ramakrishnan School CSSE Monash University.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
NASA Space Launch System (SLS) Independent Verification and Validation (IV&V) Analysis Processes within Enterprise Architecture (EA) September 11, 2013.
Introduction to Software Testing
Software Integration and Documenting
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Expert System Presentation On…. Software Certification for Industry - Verification and Validation Issues in Expert Systems By Anca I. Vermesan Presented.
Assurance techniques for code generators Ewen Denney USRA/RIACS, NASA Ames Bernd Fischer ECS, U Southampton.
CLEANROOM SOFTWARE ENGINEERING.
Cybersecurity: Engineering a Secure Information Technology Organization, 1st Edition Chapter 7 Software Supporting Processes and Software Reuse.
Alec Stanculescu, Fintronic USA Alex Zamfirescu, ASC MAPLD 2004 September 8-10, Design Verification Method for.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
1 Assessment Topics, Part 1 Thuy Nguyen and Ray Torok Joint IAEA - EPRI Workshop on Modernization of Instrumentation and Control Systems in NPPs
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
ON LINE TEST GENERATION AND ANALYSIS R. Šeinauskas Kaunas University of Technology LITHUANIA.
Verification and Validation Chapter 22 of Ian Sommerville’s Software Engineering.
Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance.
1 Department of Electrical and Computer Engineering University of Virginia Software Quality & Safety Assessment Using Bayesian Belief Networks Joanne Bechta.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Research Heaven, West Virginia A Compositional Approach for Validation of Formal Models Bojan Cukic, Dejan Desovski West Virginia University NASA OSMA.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
BSBPMG505A Manage Project Quality Manage Project Quality Unit Guide Diploma of Project Management Qualification Code BSB51507 Unit Code BSBPMG505A.
Lach1MAPLD 2005/241 Accessible Formal Verification for Safety-Critical FPGA Design John Lach, Scott Bingham, Carl Elks, Travis Lenhart Charles L. Brown.
Safety Critical Systems 5 Testing T Safety Critical Systems.
Software Testing and Quality Assurance Software Quality Assurance 1.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Quality Assurance.
Verification – The importance
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Verification of FT System Using Simulation Petr Grillinger.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
FORMAL METHOD. Formal Method Formal methods are system design techniques that use rigorously specified mathematical models to build software and hardware.
Detecting Hardware Trojans in Unspecified Functionality Using Mutation Testing Nicole Fern K.-T. Tim Cheng UC Santa Barbara 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
Oversight “The NPPO of the exporting country has the responsibility for ensuring that systems for exports meet the requirements …”
Failure Modes, Effects and Criticality Analysis
Regression Testing with its types
Verification & Validation
Software Design Methodology
Introduction to Software Testing
Verification and Validation Unit Testing
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
DOE Review of the LCLS Project October 2006
Functional Safety Solutions for Automotive
Activities of Formal Methods
Presentation transcript:

Lach1MAPLD 2005/241-W Accessible Formal Verification for Safety-Critical FPGA Design BOF-W Presentation John Lach, Scott Bingham, Carl Elks, Travis Lenhart Charles L. Brown Department of Electrical and Computer Engineering University of Virginia Thuy Nguyen, Patrick Salaun Department of Research and Development Electricité de France

Lach2MAPLD 2005/241-W What Can Disrupt FPGA-Based System Safety? Random failures –SEU, defect, electromigration, etc. –Redundancy helps Deterministic failures –Specification, design, or implementation error –Redundancy does NOT help! Our focus

Lach3MAPLD 2005/241-W Combating Deterministic Failures Assure correctness and completeness of safety specifications –Including specification of failure modes Assure correctness of design with respect to safety specifications –Functional properties –Timing properties –Freedom from intrinsic design faults Assure correctness of manufactured items with respect to design –Tool and “naked” FPGA qualification Our focus

Lach4MAPLD 2005/241-W Assuring Design Correctness Formal evidence –A priori: systematic fault avoidance –A posteriori: formal verification Evidence based on sampling –Testing, simulation, fault injection,... –Coverage criteria and levels Development process Operational experience –Credibility, applicability, sufficiency Inspection, expert judgment Our focus

Lach5MAPLD 2005/241-W Formal Evidence We must PROVE that a design is correct for safety-critical applications Formal verification techniques highly mathematical in nature –Specification/design engineers shy away –Verification engineers called in

Lach6MAPLD 2005/241-W Dangerous Disconnect? Engineers who specify and design systems are not the same people who verify them.

Lach7MAPLD 2005/241-W Primary Focus of Work Incorporate formal verification into traditional FPGA design flow Enable those who specify and design systems to be the same people who verify them Independent V&V still necessary

Lach8MAPLD 2005/241-W Must Be Able To… Directly implement known functions Replace existing components –Implementation details may be unknown Properly use and verify IP cores Keep at vendor- and tool-independent level –RTL (e.g. VHDL, Verilog, etc.)

Lach9MAPLD 2005/241-W Accessible Formal Verification: Constructive Methodology

Lach10MAPLD 2005/241-W Accessible Formal Verification: Verification Methodology

Lach11MAPLD 2005/241-W Ongoing Accessible Formal Verification Issues Accessibility relies heavily on the library’s interface Must seamlessly fit within the existing (or only slightly altered) design flow to ensure acceptance and not alter regulator- and oversight committee-approved techniques Need input from safety-critical hardware engineers to determine how they design and specify their systems –Will drive design of library interface and component/operation set Must establish which properties can (and cannot) be verified with this methodology Embed into toolset

Lach12MAPLD 2005/241-W Summary Deterministic failures must be addressed in the design process Formal verification is required to PROVE safety properties, but many engineers shy away Accessible formal verification abstracts the formal domain –Enable those who specify and design systems to be the same people who verify them