summaryrefslogtreecommitdiffstats
path: root/main.tex
diff options
context:
space:
mode:
authorYann Herklotz <ymh15@ic.ac.uk>2020-12-17 14:04:42 +0000
committeroverleaf <overleaf@localhost>2020-12-31 14:48:38 +0000
commita5249eb597549437802d2ed852919e5b9a923840 (patch)
tree29a32aa1fba1dc0211be88497884d0c7a2db1690 /main.tex
parentea9289245fbc493530e9435faf498cc4a824c70f (diff)
downloadfccm21_esrhls-a5249eb597549437802d2ed852919e5b9a923840.tar.gz
fccm21_esrhls-a5249eb597549437802d2ed852919e5b9a923840.zip
Update on Overleaf.
Diffstat (limited to 'main.tex')
-rw-r--r--main.tex40
1 files changed, 19 insertions, 21 deletions
diff --git a/main.tex b/main.tex
index 8dd121e..e6b62d2 100644
--- a/main.tex
+++ b/main.tex
@@ -1,6 +1,11 @@
-%\documentclass[hyphens,prologue,x11names,rgb,sigconf,anonymous,review]{acmart}
\documentclass[conference]{IEEEtran}
+\newif\ifCOMMENTS
+\COMMENTStrue
+
+\newif\ifBLIND
+\BLINDtrue
+
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{siunitx}
@@ -16,8 +21,14 @@
\usepackage{hyperref}
%\usepackage{balance}
-\newif\ifCOMMENTS
-\COMMENTStrue
+\newcommand\totaltestcases{6700}
+\newcommand\totaltestcasefailures{272}
+\newcommand\numuniquebugs{6}
+\newcommand\vivadotestcases{3645}
+
+\theoremstyle{definition}
+\newtheorem{example}[]{Example}
+
\newcommand{\Comment}[3]{\ifCOMMENTS\textcolor{#1}{{\bf [[#2:} #3{\bf ]]}}\fi}
\newcommand\JW[1]{\Comment{red!75!black}{JW}{#1}}
\newcommand\YH[1]{\Comment{green!50!blue}{YH}{#1}}
@@ -31,36 +42,23 @@
\title{Fuzzing High-Level Synthesis Tools}
-\newif\ifBLIND
-\BLINDfalse
\ifBLIND
\author{Blind review}
\else
\author{%
-\IEEEauthorblockN{Zewei Du}
-\IEEEauthorblockA{Imperial College London, UK \\
-Email: zewei.du19@imperial.ac.uk}
-\and
-\IEEEauthorblockN{Yann Herklotz}
-\IEEEauthorblockA{Imperial College London, UK \\
-Email: yann.herklotz15@imperial.ac.uk}
-\and
-\IEEEauthorblockN{Nadesh Ramanathan}
-\IEEEauthorblockA{Imperial College London, UK \\
-Email: n.ramanathan14@imperial.ac.uk}
-\and
-\IEEEauthorblockN{John Wickerson}
+\IEEEauthorblockN{Zewei Du, Yann Herklotz, Nadesh Ramanathan, and John Wickerson}
\IEEEauthorblockA{Imperial College London, UK \\
-Email: j.wickerson@imperial.ac.uk}}
+Email: \{zewei.du19, yann.herklotz15, n.ramanathan14, j.wickerson\}@imperial.ac.uk}
+}
\fi
\maketitle
\begin{abstract}
High-level synthesis (HLS) is becoming an increasingly important part of the computing landscape, even in safety-critical domains where correctness is key.
-As such, HLS tools are increasingly relied upon. In this paper, we investigate whether they are trustworthy.
+As such, HLS tools are increasingly relied upon. But are they trustworthy?
We have subjected three widely used HLS tools -- LegUp, Xilinx Vivado HLS, and the Intel HLS Compiler -- to a rigorous fuzzing campaign using thousands of random, valid C programs that we generated using a modified version of the Csmith tool. For each C program, we compiled it to a hardware design using the HLS tool under test and checked whether that hardware design generates the same output as an executable generated by the GCC compiler. When discrepancies arose between GCC and the HLS tool under test, we reduced the C program to a minimal example in order to zero in on the potential bug. Our testing campaign has revealed that all three HLS tools can be made either to crash or to generate wrong code when given valid C programs, and thereby underlines the need for these increasingly trusted tools to be more rigorously engineered.
-Out of 6700 test cases, we found 272 programs that failed in at least one tool, out of which we were able to identify at least 6 unique bugs.
+Out of \totaltestcases{} test cases, we found \totaltestcasefailures{} programs that failed in at least one tool, out of which we were able to discern at least \numuniquebugs{} unique bugs.
\end{abstract}