Fuzzing High-Level Synthesis Tools

Zewei Du, Yann Herklotz, Nadesh Ramanathan, John Wickerson
{"title":"Fuzzing High-Level Synthesis Tools","authors":"Zewei Du, Yann Herklotz, Nadesh Ramanathan, John Wickerson","doi":"10.1145/3431920.3439466","DOIUrl":null,"url":null,"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. 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 discern at least 6 unique bugs.","PeriodicalId":386071,"journal":{"name":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-02-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3431920.3439466","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

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. 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 discern at least 6 unique bugs.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
模糊高级合成工具
高级综合(High-level synthesis, HLS)正在成为计算领域中日益重要的一部分,即使在正确性至关重要的安全关键领域也是如此。因此,HLS工具越来越依赖。但它们值得信赖吗?我们对三种广泛使用的HLS工具——LegUp、Xilinx Vivado HLS和Intel HLS Compiler——进行了严格的模糊测试,使用了数千个随机的、有效的C程序,这些程序是我们使用Csmith工具的修改版本生成的。对于每个C程序,我们使用测试中的HLS工具将其编译为硬件设计,并检查该硬件设计是否生成与GCC编译器生成的可执行文件相同的输出。当GCC和测试中的HLS工具之间出现差异时,我们将C程序简化为一个最小的示例,以便将潜在的错误归零。我们的测试活动表明,当给定有效的C程序时,所有三个HLS工具都可能崩溃或生成错误的代码,因此强调需要对这些日益受信任的工具进行更严格的设计。在6700个测试用例中,我们发现272个程序在至少一个工具中失败,从中我们能够识别出至少6个独特的错误。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Exploring PGAS Communication for Heterogeneous Clusters with FPGAs NASCENT: Near-Storage Acceleration of Database Sort on SmartSSD Global Is the New Local: FPGA Architecture at 5nm and Beyond Triggered Scheduling: Efficient Detection of Dataflow Network Idleness on Heterogeneous Systems Reconfigurable Acceleration of Short Read Mapping with Biological Consideration
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1