将大型语言模型交织用于编译器测试
《Proceedings of the ACM on Programming Languages》:Interleaving Large Language Models for Compiler Testing
【字体:
大
中
小
】
时间:2025年11月07日
来源:Proceedings of the ACM on Programming Languages
编辑推荐:
编译器测试框架创新研究:利用LLMs离线生成特征代码片段,在线组合验证,在GCC和LLVM中发现66个漏洞,近半数为传统工具未检测的编译错误,显著提升测试效率与覆盖面。
摘要
使用人工智能模型(尤其是大型语言模型,LLMs)来测试编译器展现出了巨大的潜力。然而,当前的方法面临两个关键问题:为测试编译器生成的程序往往过于简单,而利用LLMs进行大规模测试在计算上成本高昂。在本文中,我们提出了一种新颖的编译器测试框架,将测试过程分为两个独立的阶段:离线阶段和在线阶段。在离线阶段,我们利用LLMs生成一系列规模较小但功能丰富的代码片段;在在线阶段,通过策略性地组合这些代码片段来构建高质量且有效的测试程序,进而用于测试编译器。
我们将这一理念实现在一个名为LegoFuzz的工具中,用于测试C编译器。测试结果非常显著:我们在GCC和LLVM(最广泛使用的C编译器)中发现了66个漏洞。其中近一半是编译错误,这类漏洞严重且难以发现,现有的基于LLM的工具都无法检测到。我们认为这种高效的设计为在软件测试中应用AI模型开辟了新的可能性,而不仅仅局限于C编译器。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号