BePilot:一种用于编译器后端开发的人工智能编程辅助工具

《ACM Transactions on Software Engineering and Methodology》:BePilot: An AI Programming Assistant for Compiler Backend Development

【字体: 时间:2025年11月08日 来源:ACM Transactions on Software Engineering and Methodology

编辑推荐:

  编译器后端开发因处理器多样性增加而面临高劳动强度问题,本文构建了涵盖C/C++、机器描述和TableGen的ComBack++数据集(含GCC/LLVM 184个后端和4类任务),并基于此开发了BePilot-1.5B/7B专用LLM和CB-Retriever增强工具,实验表明其准确率显著超越传统开发流程和主流LLM,人工评估也优于GPT-4o等商业助手。

  

摘要

编译器后端负责为各种处理器生成可执行的机器代码。随着处理器种类的不断增加,程序员需要为每种处理器定制相应的编译器后端。然而,编译器后端的开发仍然是一个劳动密集型且耗时的过程,可用的自动化工具也非常有限。尽管大型语言模型(LLMs)在代码补全和生成任务中表现出较强的能力,但由于缺乏适合编译器后端开发的数据集,这些模型的应用受到了限制。
在本文中,我们介绍了ComBack++,这是一个多语言数据集,涵盖了C/C++、机器描述和表生成(TableGen)方面的内容,包含了来自GCC和LLVM的184个编译器后端以及四个特定于后端的任务。基于ComBack++,我们提出了BePilot,这是一个针对编译器后端的LLM模型,提供了两种规模版本:BePilot-1.5B和BePilot-7B。我们还介绍了CB-Retriever,这是一种通过上下文学习来构建少量提示的检索系统,旨在提升资源受限环境下普通LLM的性能。实验结果表明,与12个基线LLM(参数量在1.25亿到340亿之间)相比,BePilot-1.5B和BePilot-7B在ComBack++的四个任务中取得了显著更高的准确率。此外,CB-Retriever还提高了六种主流LLM的准确率。无论是BePilot-1.5B、BePilot-7B,还是通过CB-Retriever增强的普通LLM,在ComBack++的所有四个任务中,其效率都超过了传统的手动编译器后端开发方法(Fork-Flow)。另外,四位经验丰富的编译器后端开发人员的评估也证实,BePilot不仅提高了开发效率,还在代码质量方面超越了GPT-4o-mini和Gemini2-Flash等商业AI编程助手。这些发现表明,BePilot和CB-Retriever能够显著提升编译器后端的开发效率。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号