Log In Sign Up

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

by   Mukta Debnath, et al.

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.


page 5

page 13

page 14


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

High-level synthesis (HLS) is the next emerging trend for designing comp...

Test2Vec: An Execution Trace Embedding for Test Case Prioritization

Most automated software testing tasks can benefit from the abstract repr...

Fuzzing Hardware Like Software

Hardware flaws are permanent and potent: hardware cannot be patched once...

Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing

The control logic models built by Simulink or Ptolemy have been widely u...

MET: Model Checking-Driven Explorative Testing of CRDT Designs and Implementations

Internet-scale distributed systems often replicate data at multiple geog...

Small-Amp: Test Amplification in a Dynamically Typed Language

Test amplification is a novel technique which extends a manually created...

Assertion Based Functional Verification of March Algorithm Based MBIST Controller

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