summaryrefslogtreecommitdiffstats
path: root/main.tex
diff options
context:
space:
mode:
authorYann Herklotz <ymh15@ic.ac.uk>2021-04-04 21:03:01 +0000
committeroverleaf <overleaf@localhost>2021-04-05 12:44:36 +0000
commit6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a (patch)
tree33565de568589a583c91e462c734da2e7e9d07bd /main.tex
parent62a127dfb009b8ffe94ac348ecafb7f596406cbd (diff)
downloadfccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.tar.gz
fccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.zip
Update on Overleaf.
Diffstat (limited to 'main.tex')
-rw-r--r--main.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/main.tex b/main.tex
index 5671dc9..f5bc5c5 100644
--- a/main.tex
+++ b/main.tex
@@ -59,7 +59,7 @@ Email: \{yann.herklotz15, zewei.du19, n.ramanathan14, j.wickerson\}@imperial.ac.
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. But are they trustworthy?
-We have subjected four widely used HLS tools -- LegUp, Xilinx Vivado HLS, the Intel HLS Compiler and Bambu -- 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 four HLS tools can be made to generate wrong designs and one tool could be made to crash when given valid C programs, which thereby underlines the need for these increasingly trusted tools to be more rigorously engineered.
+We have subjected four widely used HLS tools -- LegUp, Xilinx Vivado HLS, the Intel HLS Compiler and Bambu -- 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 four HLS tools can be made to generate wrong designs from valid C programs and one tool could be made to crash; this underlines the need for these increasingly trusted tools to be more rigorously engineered.
Out of \totaltestcases{} test-cases, we found \totaltestcasefailures{} programs that caused at least one tool to fail, out of which we were able to discern at least \numuniquebugs{} unique bugs.
\end{abstract}