automatic concolic test generation with virtual prototypes for post-silicon validation reviewer:...

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

Upload: deborah-wilson

Post on 23-Dec-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

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

AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION

Reviewer: Shin-Yann Ho

Instructor: Jie-Hong Jiang

Page 2: 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.

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

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

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

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.

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

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.

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

transaction

testcase

State under test

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

Test generation & Selection

To solve the two challenges: 1. State selection problem2. Test case redundancy problem

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

Implementation

Harness Generation for Symbolic Execution

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

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

Experimental Result

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

Experimental Result

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

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?

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

Thanks for your attention!