summaryrefslogtreecommitdiffstats
path: root/intro.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-03-30 19:39:57 +0100
committerYann Herklotz <git@yannherklotz.com>2021-03-30 19:39:57 +0100
commitadc0afcec6fe025f85fbfdfdfc5ef522fa760d98 (patch)
tree22243be49716dc6c98b5e6b38a67c6c862ef9f1c /intro.tex
parent0f40e13fab830957ac055e076055280cdb82efff (diff)
downloadfccm21_esrhls-adc0afcec6fe025f85fbfdfdfc5ef522fa760d98.tar.gz
fccm21_esrhls-adc0afcec6fe025f85fbfdfdfc5ef522fa760d98.zip
Update text
Diffstat (limited to 'intro.tex')
-rw-r--r--intro.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/intro.tex b/intro.tex
index 7fa4905..4432fc1 100644
--- a/intro.tex
+++ b/intro.tex
@@ -59,7 +59,7 @@ Ultimately, we believe that any errors in an HLS tool are worth identifying beca
\subsection{Our approach and results}
Our approach to fuzzing HLS tools comprises three steps.
-First, we use Csmith~\cite{yang11_findin_under_bugs_c_compil} to generate thousands of valid C programs within the subset of the C language that is supported by all the HLS tools we test. We also augment each program with a random selection of HLS-specific directives. Second, we give these programs to four widely used HLS tools: Xilinx Vivado HLS~\cite{xilinx20_vivad_high_synth}, LegUp HLS~\cite{canis13_legup}, the Intel HLS Compiler, also known as i++~\cite{intel20_sdk_openc_applic}, and finally Bambu~\cite{pilato13_bambu}. Third, if we find a program that causes an HLS tool to crash, or to generate hardware that produces a different result from GCC, we reduce it to a minimal example with the help of the \creduce{} tool~\cite{creduce}.
+First, we use Csmith~\cite{yang11_findin_under_bugs_c_compil} to generate thousands of valid C programs within the subset of the C language that is supported by all the HLS tools we test. We also augment each program with a random selection of HLS-specific directives. Second, we give these programs to four widely used HLS tools: Xilinx Vivado HLS~\cite{xilinx20_vivad_high_synth}, LegUp HLS~\cite{canis13_legup}, the Intel HLS Compiler, also known as i++~\cite{intel20_sdk_openc_applic}, and finally Bambu~\cite{pilato13_bambu}. Third, if we find a program that causes an HLS tool to crash or to generate hardware that produces a different result from GCC, we reduce it to a minimal example with the help of \creduce{}~\cite{creduce}.
Our testing campaign revealed that all four tools could be made to generate an incorrect design. In total, \totaltestcases{} test-cases were run through each tool, of which \totaltestcasefailures{} failed in at least one of the tools. Test-case reduction was then performed on some of these failing test-cases to obtain at least \numuniquebugs{} unique failing test-cases.