Test Generation for SystemC designs by interlaced Greybox Fuzzing and Concolic Execution

05/09/2022
by   Mukta Debnath, et al.
0

Recent success in high-level synthesis ( HLS ) has enabled designing complex hardware with better abstraction and configurability in high-level languages (e.g. SystemC/C++) compared to low-level register-transfer level ( RTL ) languages. Nevertheless, verification and testing HLS designs are challenging and arduous due to their object oriented nature and inherent concurrency. Test engineers aim to generate qualitative test-cases satisfying various code coverage metrics to ensure minimal presence of bugs in a design. Recent works have demonstrated the success of software testing techniques such as greybox fuzzing and concolic execution to obtain better coverage on SystemC designs. However, each of these techniques is time inefficient which obstructs achieving the desired coverage in shorter time-span. We propose a hybrid approach: interleave greybox fuzzing and concolic execution in an systematic manner, thereby reinforcing both the engines by exchanging intermediate test vectors to alleviate the individual inefficiency of the techniques. We evaluate our framework on a wide spectrum of SystemC benchmarks and show that our technique outperforms existing state-of-the-art methods in terms of number of test cases, branch-coverage and runtime.

READ FULL TEXT

page 5

page 13

page 14

research
11/01/2021

FuCE: Fuzzing+Concolic Execution guided Trojan Detection in Synthesizable Hardware Designs

High-level synthesis (HLS) is the next emerging trend for designing comp...
research
06/28/2022

Test2Vec: An Execution Trace Embedding for Test Case Prioritization

Most automated software testing tasks can benefit from the abstract repr...
research
02/03/2021

Fuzzing Hardware Like Software

Hardware flaws are permanent and potent: hardware cannot be patched once...
research
02/23/2023

Sequence-Based Incremental Concolic Testing of RTL Models

Concolic testing is a scalable solution for automated generation of dire...
research
08/12/2021

Small-Amp: Test Amplification in a Dynamically Typed Language

Test amplification is a novel technique which extends a manually created...
research
08/02/2020

Concolic Testing in CLP

Concolic testing is a popular software verification technique based on a...
research
06/22/2021

Assertion Based Functional Verification of March Algorithm Based MBIST Controller

The thesis work presents assertion based functional verification of RTL ...

Please sign up or login with your details

Forgot password? Click here to reset