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号