Transcript Automatic Concolic Test Generation with Virtual Prototypes for Post
AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION
Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang
Abstract
This paper presents a generation of concolic post-silicon prototypes.
testing approach to tests with virtual 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 eliminate redundancy test selection developed to select device states under test and in generated tests.
strategy is
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.
State under test transaction testcase
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
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?