将大型语言模型交织用于编译器测试

《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号