AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

Automated Evaluation of Runtime Object States Against Model-Level States for State-Based Test Execution Frank(Weifeng) Xu, Gannon University Dianxiang.
Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
Masahiro Fujita Yoshihisa Kojima University of Tokyo May 2, 2008
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Technology of Test Case Generation Levi Lúcio University of Geneva Marko Samer Vienna University of Technology.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
A SOFT Way for OpenFlow Interoperability Testing Marco Canini TU Berlin / T-Labs [CoNEXT’12]
Prototyping of Real-time Component Based Systems by the use of Timed Automata Trevor Jones Lancaster University, UK
CHESS: A Systematic Testing Tool for Concurrent Software CSCI6900 George.
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
Reporter:PCLee With a significant increase in the design complexity of cores and associated communication among them, post-silicon validation.
Hybrid Concolic Testing Rupak Majumdar Koushik Sen UC Los Angeles UC Berkeley.
Formal Structured Specification for Web Application Test School of Computer Science, Telecommunication and Information System DePaul University Xiaoping.
Property-Based Test Generation Li Tan, Oleg Sokolsky, and Insup Lee University of Pennsylvania.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
Machine-Independent Optimizations Ⅰ CS308 Compiler Theory1.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Efficient Hardware dependant Software (HdS) Generation using SW Development Platforms Frédéric ROUSSEAU CASTNESS‘07 Computer Architectures and Software.
The Software Development Cycle Defining and understanding the problem.
Petros OikonomakosBashir M. Al-Hashimi Mark Zwolinski Versatile High-Level Synthesis of Self-Checking Datapaths Using an On-line Testability Metric Electronics.
Software Testing.
Presented by: Tom Staley. Introduction Rising security concerns in the smartphone app community Use of private data: Passwords Financial records GPS locations.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Automatic Test-Data Generation: An Immunological Approach Kostas Liaskos Marc Roper {Konstantinos.Liaskos, TAIC PART 2007.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Research Heaven, West Virginia A Compositional Approach for Validation of Formal Models Bojan Cukic, Dejan Desovski West Virginia University NASA OSMA.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
A Study of Wireless Virtual Network Computing Kiran Erra.
1 Introduction to Software Engineering Lecture 1.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Supervisor: Fearghal Morgan Analog Devices: Ray Carter Dept. Electronic Engineering NUIG 23 April 2008 Software Driver for ADV7800 Video Decoder Nóirín.
RevDedup: A Reverse Deduplication Storage System Optimized for Reads to Latest Backups Chun-Ho Ng, Patrick P. C. Lee The Chinese University of Hong Kong.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Requirements Validation
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
A Fault Tolerant Control Approach to Three Dimensional Magnetic Levitation By James Ballard.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Harnessing the Cloud for Securely Outsourcing Large- Scale Systems of Linear Equations.
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
Lazy Annotation for Program Testing and Verification (Supplementary Materials) Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang December 3,
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
HW7: Due Dec 5th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
CS 4311 Software Design and Implementation Spring 2012.
CS 4311 Software Design and Implementation Spring 2013.
1 Program Analysis Too Loopy? Set the Loops Aside Eric Larson September 25, 2011 Seattle University.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
1 PERFORMANCE DIFFERENTIATION OF NETWORK I/O in XEN by Kuriakose Mathew ( )‏ under the supervision of Prof. Purushottam Kulkarni and Prof. Varsha.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Software Testing.
A Study of Wireless Virtual Network Computing
Using Execution Feedback in Test Case Generation
CS701 SOFTWARE ENGINEERING
Mark Weiser University of Maryland, College Park IEEE CHI, 1981
All You Ever Wanted to Know About Dynamic Taint Analysis & Forward Symbolic Execution (but might have been afraid to ask) Edward J. Schwartz, Thanassis.
Smart Learning concepts to enhance SMART Universities in Africa
Software Testing.
Presentation transcript:

AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang

Abstract  This paper presents a concolic testing approach to generation of post-silicon tests with virtual prototypes.  The generated test cases have been issued to both virtual prototypes and silicon devices. We observed significant coverage improvement with generated test cases.

Introduction  Virtual prototypes: fast, fully functional software models of hardware systems, which enable unmodified execution of software code.  Concolic testing: a hybrid testing technique that integrates concrete execution with symbolic execution

Key Contribution  Concolic testing for post-silicon validation. Not only integrates concrete and symbolic execution, but also combines virtual and silicon device executions. The observability and controllability of virtual prototypes are fully leveraged.  Transaction-based test selection. A transaction-based test selection strategy is developed to select device states under test and eliminate redundancy in generated tests.

Symbolic Execution & Some Definitions  Symbolic execution executes a program with symbolic values as inputs instead of concrete ones and represents the values of program variables as symbolic expressions.  Def1: device state is denoted as s = sI, sN  Def2: A device request is denoted as r which is issued by high-level software to control and operate the device. (seq = r1, r2….rn)  Def3: A test case is denoted as tc = seq, r  Def4: A state under test is denoted as sut where sut is the device state on which test cases are generated.  Def5: device transaction, denoted as t, is a program path of a virtual device.

transaction testcase State under test

Test generation & Selection To solve the two challenges: 1.State selection problem 2. Test case redundancy problem

Implementation  Harness Generation for Symbolic Execution  Symbolic Execution 1. Path explosion a. loop bound b. time bound 2. Environmental interaction  Testing with Generated Test Cases Compares interface states of the real and virtual devices to detect any inconsistency.

Experimental Result

Conclusion  Present an approach to generation of post-silicon tests with virtual prototypes, which fully leverages the observability and traceability of virtual prototypes.  Too few test cases  Can propose more advantages of using symbolic execution  Test selection still needs to trace paths (exponential)  Why showing the number of line of codes?

Thanks for your attention!