summaryrefslogtreecommitdiffstats
path: root/conclusion.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-09-12 17:53:02 +0100
committerYann Herklotz <git@yannherklotz.com>2020-09-12 17:53:02 +0100
commite49d11cfade2958e19ca1bbd65110b5cb1c595ba (patch)
tree69d19658ab1d144535e5edab8f794b78927bae24 /conclusion.tex
parent772081ef71787b198facb74efd2aa7c92d5d78fe (diff)
downloadfccm21_esrhls-e49d11cfade2958e19ca1bbd65110b5cb1c595ba.tar.gz
fccm21_esrhls-e49d11cfade2958e19ca1bbd65110b5cb1c595ba.zip
Update conclusion
Diffstat (limited to 'conclusion.tex')
-rw-r--r--conclusion.tex25
1 files changed, 11 insertions, 14 deletions
diff --git a/conclusion.tex b/conclusion.tex
index af34c0a..94073e7 100644
--- a/conclusion.tex
+++ b/conclusion.tex
@@ -1,15 +1,12 @@
\section{Conclusion}
-In this thesis, we proposed a fuzz testing method to iteratively challenging HLS tools aiming to detect any embedded bugs introduced by the tool solely. We achieved to implement a fully automated testing system through:
-\begin{itemize}
- \item Integrating and configuring Csmith properly
- \item Automatically processing the randomly generated programs to HLS-friendly syntax
- \item Automatically modifying the generated main function for running HLS tools correctly
- \item Automatically adding labels inside the random program for applying optimisations
- \item Creating the self-check testbench
- \item Automatically generating scripts for instructing HLS tools
- \item Automatically extracting and comparing simulation results
- \item Automatically reducing the failed test cases
- \item Automatically fetch next test cases when necessary
- \item Automatically summarising the result files
-\end{itemize}
-Three commercial tools, including Vivado HLS, LegUp HLS, and Intel HLS, are tested through this automated testing system. Bugs that triggers discrepancies in results have been detected among all three tools, and have been reported to the tool vendors. Crashes have not been detected. By the time of writing this thesis, the testing is still in progress. Hopefully, more problems can be detected and send for a fix.
+In conclusion, we propose a method to combine existing fuzzing tools and modify their outputs so that they are compatible with HLS tools. We then used this testing framework to run 10,000 test cases through three different HLS tools to find as many bugs in them as possible and report them to the tool vendors. In total, we found at least 6 individual and unique bugs in all the tools, which have been reduced and analysed. These consisted of crashes as well as generation of designs that did not behave in the same way as the original code.
+
+Further work could be done on supporting more HLS tools, especially ones that prove that the output is correct before terminating. This could give an indication on how effective these proofs are, and how many times they cannot prove the output equivalent.
+
+As HLS is becoming increasingly useful, it is important to make sure that these tools are also reliable. We hope that this work further motivates the design of correct HLS tools, either by validating that the output is correct or by proving the HLS tool correct.
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "main"
+%%% TeX-command-extra-options: "-shell-escape"
+%%% End: