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.
High-Level Synthesis (HLS) has transformed the development of complex Hardware IPs (HWIP) by offering abstraction and configurability through languages like SystemC/C++, particularly for Field Programmable Gate Array (FPGA) accelerators in high-performance and cloud computing contexts. These IPs can be synthesized for different FPGA boards in cloud, offering compact area requirements and enhanced flexibility. HLS enables designs to execute directly on ARM processors within modern FPGAs without the need for Register Transfer Level (RTL) synthesis, thereby conserving FPGA resources. While HLS offers flexibility and efficiency, it also introduces potential vulnerabilities such as the presence of hidden circuitry, including the possibility of hosting hardware trojans within designs.In cloud environments, these vulnerabilities pose significant security concerns such as leakage of sensitive data, IP functionality disruption and hardware damage, necessitating the development of robust testing frameworks. This research presents an advanced testing approach for HLS-developed cloud IPs, specifically targeting hidden malicious functionalities that may exist in rare conditions within the design. The proposed method leverages selective instrumentation, combining greybox fuzzing and concolic execution techniques to enhance test generation capabilities. Evaluation conducted on various HLS benchmarks, possessing characteristics of FPGA-based cloud IPs with embedded cloud related threats, demonstrates the effectiveness of our framework in detecting trojans and rare scenarios, showcasing improvements in coverage, time efficiency, memory usage, and testing costs compared to existing methods.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.