HeteroFuzz: Fuzz Testing to Detect Platform Dependent Divergence for Heterogeneous Applications
Thu 26 Aug 2021 20:10 - 20:20 - Testing—Fuzzing Chair(s): Felipe Fronchetti
As specialized hardware accelerators like FPGAs become a prominent part of the current computing landscape, software applications are increasingly constructed to leverage heterogeneous architectures. Such a trend is already happening in the domain of machine learning and Internet-of-Things (IoT) systems built on edge devices. Yet, debugging and testing methods for heterogeneous applications are currently lacking. These applications may look similar to regular C/C++ code but include hardware synthesis details in terms of preprocessor directives. Therefore, their behavior under heterogeneous architectures may diverge significantly from CPU due to hardware synthesis details. Further, the compilation and hardware simulation cycle takes an enormous amount of time, prohibiting frequent invocations required for fuzz testing.
We propose a novel fuzz testing technique, called HeteroFuzz, designed to specifically target heterogeneous applications and to detect platform-dependent divergence. The key essence of HeteroFuzz is that it uses a three-pronged approach to reduce the long latency of repetitively invoking a hardware simulator on a heterogeneous application. First, in addition to monitoring code coverage as a fuzzing guidance mechanism, we analyze synthesis pragmas in kernel code and monitor accelerator-relevant value spectra. Second, we design dynamic probabilistic mutations to increase the chance of hitting divergent behavior under different platforms. Third, we memorize the boundaries of seen kernel inputs and skip HLS simulator invocation if it can expose only redundant divergent behavior. We evaluate HeteroFuzz on seven real-world heterogeneous applications with FPGA kernels. HeteroFuzz is 754X faster in exposing the same set of distinct divergence symptoms than naive fuzzing. Probabilistic mutations contribute to 17.5X speed up than the one without. Selective invocation of HLS simulation contributes to 8.8X speed up than the one without.
Thu 26 AugDisplayed time zone: Athens change
08:00 - 09:00 | |||
08:00 10mPaper | Estimating Residual Risk in Greybox Fuzzing Research Papers Link to publication DOI Pre-print | ||
08:10 10mPaper | HeteroFuzz: Fuzz Testing to Detect Platform Dependent Divergence for Heterogeneous Applications Research Papers Qian Zhang University of California at Los Angeles, Jiyuan Wang University of California at Los Angeles, Miryung Kim University of California at Los Angeles DOI | ||
08:20 10mPaper | FuzzBench: An Open Fuzzer Benchmarking Platform and Service Industry Papers Jonathan Metzman Google, Laszlo Szekeres Google, Laurent Simon Google, Read Sprabery Google, Abhishek Arya Google DOI | ||
08:30 30mLive Q&A | Q&A (Testing—Fuzzing) Research Papers |
20:00 - 21:00 | Testing—FuzzingResearch Papers / Industry Papers Chair(s): Felipe Fronchetti University of São Paulo, Brazil | ||
20:00 10mPaper | Estimating Residual Risk in Greybox Fuzzing Research Papers Link to publication DOI Pre-print | ||
20:10 10mPaper | HeteroFuzz: Fuzz Testing to Detect Platform Dependent Divergence for Heterogeneous Applications Research Papers Qian Zhang University of California at Los Angeles, Jiyuan Wang University of California at Los Angeles, Miryung Kim University of California at Los Angeles DOI | ||
20:20 10mPaper | FuzzBench: An Open Fuzzer Benchmarking Platform and Service Industry Papers Jonathan Metzman Google, Laszlo Szekeres Google, Laurent Simon Google, Read Sprabery Google, Abhishek Arya Google DOI | ||
20:30 30mLive Q&A | Q&A (Testing—Fuzzing) Research Papers |