diff options
author | n.ramanathan14 <n.ramanathan14@imperial.ac.uk> | 2020-09-15 08:40:52 +0000 |
---|---|---|
committer | overleaf <overleaf@localhost> | 2020-09-15 08:40:55 +0000 |
commit | ebaf38ee9fa9ed6a74230c93fa2d15df44521c9a (patch) | |
tree | 9b661c26ec60e0710668e108e879abbfd1ecb3bd /intro.tex | |
parent | 66b5b9ca3de555980d93864fb7bac5e8ea0fcb1c (diff) | |
download | fccm21_esrhls-ebaf38ee9fa9ed6a74230c93fa2d15df44521c9a.tar.gz fccm21_esrhls-ebaf38ee9fa9ed6a74230c93fa2d15df44521c9a.zip |
Update on Overleaf.
Diffstat (limited to 'intro.tex')
-rw-r--r-- | intro.tex | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -10,7 +10,8 @@ unsigned int b = 0x1194D7FF; int a[6] = {1, 1, 1, 1, 1, 1}; int main() { - for (int c = 0; c < 2; c++) b = b >> a[c]; + for (int c = 0; c < 2; c++) + b = b >> a[c]; return b; } \end{minted} @@ -61,7 +62,7 @@ This paper reports on our campaign to test HLS tools by fuzzing. \begin{itemize} \item We use Csmith~\cite{yang11_findin_under_bugs_c_compil} to generate ten thousand valid C programs from within the subset of the C language that is supported by all the HLS tools we test. We augment each program with a random selection of HLS-specific directives. - \item We give these programs to three widely used HLS tools: Xilinx Vivado HLS~\cite{xilinx20_vivad_high_synth}, LegUp HLS~\cite{canis13_legup} and Intel HLS~\cite{intel20_sdk_openc_applic}. When 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 C-reduce tool~\cite{creduce}. + \item We give these programs to three widely used HLS tools: Xilinx Vivado HLS~\cite{xilinx20_vivad_high_synth}, LegUp HLS~\cite{canis13_legup} and the Intel HLS Compiler~\cite{intel20_sdk_openc_applic}. When 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}. \item Our testing campaign revealed that all three tools could be made to crash while compiling or to generate wrong RTL. In total, we found \ref{XX} bugs across the three tools, all of which have been reported to the respective developers, and \ref{XX} of which have been confirmed at the time of writing. |