SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo.

Slides:



Advertisements
Similar presentations
XIAOXI XU AND CHENG-CHEW LIM, SENIOR MEMBER, IEEE IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 29, NO. 6, JUNE 2010.
Advertisements

Using emulation for RTL performance verification
© 2013 IBM Corporation Enabling easy creation of HW reconfiguration scenarios for system level pre-silicon simulation Erez Bilgory Alex Goryachev Ronny.
Parallel Programming Motivation and terminology – from ACM/IEEE 2013 curricula.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Presenter: Jyun-Yan Li A Software-Based Self-Test Methodology for On-Line Testing of Processor Caches G. Theodorou, N. Kranitis, A. Paschalis, D. Gizopoulos.
WHY BOTHER TO UNIT TEST Suprinder Pujji. OVERVIEW What is Unit testing Emphasis of Unit testing Benefits of Unit Testing Popular Misconceptions Prevailing.
Leveraging Assertion Based Verification by using Magellan Michal Cayzer.
Multiple V-model. Introduction In embedded systems, the test object is not just executable code. First a model of the system is built on a PC, which simulates.
The Triumph of Hope over Experience * ? Bill Gropp *Samuel Johnson.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Figure 1.1 Interaction between applications and the operating system.
1 External Sorting for Query Processing Yanlei Diao UMass Amherst Feb 27, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Introduction to Software Testing
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Scenario testing Tor Stålhane. Scenario testing – 1 There are two types of scenario testing. Type 1 – scenarios used as to define input/output sequences.
Advances in Language Design
Introduction to Information System Development.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Introduction 01_intro.ppt
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
Software Testing.
CSCI 4717/5717 Computer Architecture
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.

Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
An Introduction to Digital Systems Simulation Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
How to Build a CPU Cache COMP25212 – Lecture 2. Learning Objectives To understand: –how cache is logically structured –how cache operates CPU reads CPU.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Computer Organization & Assembly Language © by DR. M. Amer.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
About OlaTech We create web based custom software applications for businesses.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Chapter 2 Parallel Hardware and Parallel Software An Introduction to Parallel Programming Peter Pacheco.
Coupling Facility. The S/390 Coupling Facility (CF), the key component of the Parallel Sysplex cluster, enables multisystem coordination and datasharing.
Threaded Programming Lecture 2: Introduction to OpenMP.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
1 ENG224 INFORMATION TECHNOLOGY – Part I 1. Introduction to Computers.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Computer Architecture Furkan Rabee
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Introduction to Software Testing
Objective of This Course
Operating Systems : Overview
Principles of Programming Languages
Introduction to Computer Systems
Operating Systems : Overview
Presentation transcript:

SLAM: SLice And Merge – Effective Test Generation for Large Systems ICCAD’13 Review Reviewer: Chien-Yen Kuo

Introduction  More logic squeezed into a single chip  Verification by test cases  Evaluated by functionality coverage  Consideration of system-level verification  Interaction between components  Stress on common resources

Test templates  To produce test cases more efficiently, use test template-based generator  A template consists of statements written in high- level language  Each statement represents a hardware transaction  E.g., memory access of CPU, interruption from external I/O device to CPU  A test generator parses statements and generate stimuli for corresponding components

Related works  Top-level scenario composed of several components (scenarios)  Component independency is needed  Operating system  Additional booting and running time  Interleaving  Additional scenario requirements  Irritation  A special case of SLAM

SLAM: SLice And Merge  Fact: usually a test template is associated with only a subset of full system  Assumption: exercising a stimulus(test case) on a subset of model does not undermine its effectiveness (prove in experiments)

Slicing  Pre-defined/ Random/ Constrained-random slicing  Each slice is assigned with a different test template

Merging  Integrate SLAM into test generator  Take more than one template/slice as input  Alternatively parse statements from each template  Maintenance  History of generated statements(?)  Current stimuli being generated  Current state of components

Verification cycle  For each function (unit, I/O bridge, or feature), write test templates for various scenarios  Target various scenarios in one template  Target various functionalities and stress the common resources in one template

Benefits of SLAM  Reducing manual effort on template generation  No complex template needed, use SLAM to generate complex test cases  Cover unexpected scenarios  Reducing regression time  Since stimuli of templates exercise slices in parallel

Experiments  Implemented in IBM System-level Test- Generator  Use a subset of template library  CACHE  RESERVATION  PREFETCH  NEW FEATURE  Coverage model used by System p verification team  400,000+ events divided into 8,000+ classes

Simulation on subsets of system  On a chip with 64 hardware threads  Vary the number of participating threads  Observations  Saturated event accumulation  Larger subset does not necessarily lead to larger coverage

Coverage growth  On a chip with 32 hardware threads  Two combinations of templates  NEW FEATURE and PREFETCH  NEW FEATURE and RESERVATION  6 test cases per template vs. 12 SLAM test cases

Unique event coverage  On a chip with 32 hardware threads  Average results of two combinations of templates  NEW FEATURE and PREFETCH  NEW FEATURE and CACHE  Observation  A class of events are almost always hit by SLAM tests but not hit by any test of individual template

Conclusions  SLAM, a method for test generation for large systems  Divide systems into slices, each of which is the bench of a scenario  Run test cases in parallel  Reaching additional coverage events  Used as part of the system level verification methodology for IBM System p servers

Comment and suggestions  The benefits should be solid  Suggestions  Be more specific  Slicing methods  Related works  Explanations on experimental results (example?)  Put related work review in introduction  Cite more in introduction