在这项研究中,苹果的研究人员提出了一种新的AI模型,该模型克服了当今大语言模型在分析大规模代码库以检测和预测Bug时的局限性(如"幻觉、缺乏上下文的生成以及检索过程中关键业务关系的丢失")。
这个名为ADE-QVAET的模型旨在通过结合四种AI技术来提高Bug预测的准确性:自适应差分进化(ADE)、量子变分自编码器(QVAE)、Transformer层和自适应噪声减少与增强(ANRA)。
简而言之,ADE调整模型的学习方式,QVAE帮助其理解数据中的深层模式。同时,Transformer层确保模型跟踪这些模式之间的关系,ANRA清理和平衡数据以保持一致的结果。
有趣的是,这不是一个直接分析代码的大语言模型。相反,它查看代码的指标和数据,如复杂性、大小和结构,并寻找可能表明Bug可能出现位置的模式。
根据研究人员的说法,当他们在专门用于软件Bug预测的Kaggle数据集上测量模型性能时,得到了以下结果:
这意味着该模型在总体上高度可靠,在正确识别真实Bug方面非常有效,同时避免了误报。
在Apple机器学习研究博客上阅读完整研究
这项研究由四名苹果研究人员完成,其中三人参与了ADE-QVAET模型的工作。在这里,他们解决了质量工程师面临的第二个耗时任务,即为大型软件项目创建和维护详细的测试计划和用例。
在这项研究中,他们开发了一个利用大语言模型和自主AI智能体的系统,可以自动生成和管理测试工件,从测试计划到验证报告,同时保持需求、业务逻辑和结果之间的完整可追溯性。
换句话说,他们构建了一个能够自主规划、编写和组织软件测试的AI系统,这可能有助于简化质量工程师的工作流程,因为他们"花费30-40%的时间创建基础测试工件,如测试计划、用例和自动化脚本"。
与ADE-QVAET模型一样,这里的结果也很有前景:
另一方面,研究人员也注意到该框架存在局限性,包括他们的工作仅专注于"员工系统、财务和SAP环境",限制了其泛化能力。
在Apple机器学习研究博客上阅读完整研究
这可能是三项研究中最有趣和最雄心勃勃的一项。
虽然前两项研究专注于预测Bug可能出现的位置以及如何测试和验证它们,但SWE-Gym背后的想法是训练实际上能够通过学习读取、编辑和验证真实代码来修复Bug的AI智能体。
SWE-Gym使用来自11个开源仓库的2,438个真实Python任务构建,每个任务都有可执行环境和测试套件,以便智能体可以在现实条件下练习编写和调试代码。
研究人员还开发了SWE-Gym Lite,包含230个更简单、更独立的任务,旨在使训练和评估更快、计算成本更低。
根据研究,使用SWE-Gym训练的智能体正确解决了72.5%的任务,比之前的基准测试高出20多个百分点。
同时,SWE-Gym Lite与完整设置相比,训练时间减少了近一半,同时提供了类似的结果。另一方面,Lite版本包含的编码任务要少得多且简单得多,这使得它在测试更大、更复杂问题上的模型时效果较差。
在Apple机器学习研究博客上阅读完整研究
Q&A
Q1:ADE-QVAET模型是什么?它如何预测Bug?
A:ADE-QVAET是苹果研究人员开发的AI模型,它结合了自适应差分进化、量子变分自编码器、Transformer层和自适应噪声减少与增强四种技术。该模型不直接分析代码,而是查看代码的复杂性、大小和结构等指标,寻找可能表明Bug出现位置的模式。
Q2:SWE-Gym能够做什么?训练效果如何?
A:SWE-Gym是一个训练AI智能体修复Bug的系统,使用2,438个真实Python任务让智能体学习读取、编辑和验证代码。经过训练的智能体能够正确解决72.5%的任务,比之前的基准测试高出20多个百分点。
Q3:苹果的AI测试生成系统有什么优势?
A:该系统利用大语言模型和AI智能体自动生成和管理测试工件,从测试计划到验证报告,能够保持需求、业务逻辑和结果之间的完整可追溯性。这可以帮助质量工程师节省30-40%用于创建基础测试工件的时间。
好文章,需要你的鼓励
很多人担心被AI取代,陷入无意义感。按照杨元庆的思路,其实无论是模型的打造者,还是模型的使用者,都不该把AI放在人的对立面。
MIT研究团队提出递归语言模型(RLM),通过将长文本存储在外部编程环境中,让AI能够编写代码来探索和分解文本,并递归调用自身处理子任务。该方法成功处理了比传统模型大两个数量级的文本长度,在多项长文本任务上显著优于现有方法,同时保持了相当的成本效率,为AI处理超长文本提供了全新解决方案。
谷歌宣布对Gmail进行重大升级,全面集成Gemini AI功能,将其转变为"个人主动式收件箱助手"。新功能包括AI收件箱视图,可按优先级自动分组邮件;"帮我快速了解"功能提供邮件活动摘要;扩展"帮我写邮件"工具至所有用户;支持复杂问题查询如"我的航班何时降落"。部分功能免费提供,高级功能需付费订阅。谷歌强调用户数据安全,邮件内容不会用于训练公共AI模型。
华为研究团队推出SWE-Lego框架,通过混合数据集、改进监督学习和测试时扩展三大创新,让8B参数AI模型在代码自动修复任务上击败32B对手。该系统在SWE-bench Verified测试中达到42.2%成功率,加上扩展技术后提升至49.6%,证明了精巧方法设计胜过简单规模扩展的技术理念。