Interleaving Large Language Models for Compiler Testing

论文《Interleaving Large Language Models for Compiler Testing》总结与翻译

一、文章主要内容总结

1. 研究背景与问题

编译器作为现代软件生态的核心组件,其可靠性至关重要,但现有测试方法存在显著缺陷:传统随机生成或变异测试工具(如Csmith)受限于预定义规则,易陷入“饱和点”;现有基于大语言模型(LLMs)的测试工具(如Fuzz4All、WhiteFox)则面临两大核心挑战——生成的测试程序质量低(存在语法/语义错误,无法检测编译错误类漏洞)、计算成本高(每轮测试需频繁调用LLMs,难以大规模部署)。

2. 核心方案:LegoFuzz框架

提出离线-在线两阶段解耦的编译器测试框架,平衡LLMs的创造性与传统方法的高效性:

  • 离线阶段(代码数据库构建):以真实开源项目(如Linux、Redis、Nginx)代码为模板,通过“真实代码对齐提示”引导LLMs生成小而功能丰富的代码片段(函数级),并通过多工具验证(ASan、UBSan、CompCert等)确保语法/语义有效性,最终构建含55.3万余个有效函数的数据库。
  • 在线阶段(迭代程序合成):复用离线数据库中的函数作为“积木”,通过两种机制构建函数间依赖(函数调用插入、全局变量
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值