网易首页 > 网易号 > 正文 申请入驻

Meta推出代码推理新技术:让AI不运行程序也能分析代码漏洞

0
分享至


这项由Meta公司研究团队完成的突破性研究发表于2026年3月,论文编号为arXiv:2603.01896v1。这个研究解决了一个困扰程序员和AI系统很久的问题:如何在不实际运行代码的情况下,就能准确判断代码是否存在问题。

想象一下这样的场景:你是一个资深的代码审核员,面前有两段修复同一个bug的代码补丁。传统的做法是把这两段代码都跑一遍,看看结果是否一样。但是,这就像每次做菜都要真的煮一遍才知道味道如何,既费时又费力。Meta的研究团队发明了一种新方法,就像经验丰富的大厨,仅通过观察食材和烹饪步骤,就能预判出菜的味道。

这项研究的核心是一种叫做"半正式推理"的方法。这个名字听起来很学术,但本质上就像要求AI在分析代码时必须"show工作过程"。传统的AI分析代码时,往往像一个学生匆忙做数学题,直接给出答案但不写解题步骤。而半正式推理则要求AI必须详细展示它的思考过程:首先明确前提条件,然后逐步追踪代码执行路径,最后得出结论。这就像要求学生不仅要给出答案,还要详细写出每一步推理过程,这样既能避免跳步骤导致的错误,也能让审核者验证推理是否正确。

研究团队通过一个真实的Django框架案例展示了这种方法的威力。在这个案例中,两个看似功能相同的代码补丁实际上有着关键差异。传统的分析方法认为这两个补丁是等效的,就像看到两个相似的烹饪方法就认为会做出同样的菜。但是半正式推理深入挖掘,发现其中一个补丁调用的format函数并不是Python内置的函数,而是Django框架中的一个同名函数,这个函数期待的参数类型完全不同,导致代码会报错。这就像发现两个看似相同的调料实际上完全不同,一个是糖一个是盐。

研究团队在三个不同的任务上测试了这种方法的效果。第一个任务是补丁等效性验证,也就是判断两个代码修复方案是否会产生相同的结果。在精心挑选的170个困难案例中,半正式推理的准确率从78%提升到了88%。在真实世界的200个AI生成补丁测试中,准确率更是达到了93%。这个成绩已经足够用于实际的软件开发流程中,可以大大减少需要实际运行测试的次数。

第二个任务是代码问答,测试AI是否能准确理解代码的功能和行为。在RubberDuckBench基准测试中,半正式推理达到了87%的准确率,比传统方法提升了近11个百分点。这个提升看似不大,但在实际应用中意义重大,因为代码理解的准确性直接影响到后续的修改和维护工作。

第三个任务是故障定位,即在大型代码库中找到导致程序出错的具体位置。这就像在一栋大楼里找到漏水的确切位置。在著名的Defects4J测试集上,半正式推理在Top-5准确率上提升了5到12个百分点。这意味着程序员在调试时能更快找到问题根源,大大提升开发效率。

半正式推理之所以有效,关键在于它强制AI进行系统性的思考。传统方法下,AI往往会基于表面特征做出判断,就像看到两段相似的代码就认为功能相同。但半正式推理要求AI必须追踪具体的执行路径,检查每个函数调用的实际定义,分析可能的边界情况。这种结构化的思考过程自然引导AI进行更深层的跨模块推理,因为要追踪执行路径就必须跟随函数调用链,而不能仅凭猜测。

这项技术的实际应用前景非常广阔。在软件开发过程中,这种方法可以用作无需执行的反馈机制,特别是在强化学习训练流程中。传统上训练AI写代码需要为每个生成的代码建立沙盒环境并实际运行测试,这既耗时又消耗大量计算资源。有了半正式推理,很多验证工作可以在不实际运行代码的情况下完成,大大降低了训练成本。

在代码审核场景中,这种技术可以作为人工审核的有力补充。程序员在审核代码时,可以借助这种技术快速识别可能存在问题的地方,然后重点关注这些区域。这就像有了一个经验丰富的助手,能提前标出可能有问题的地方,让审核工作更有针对性。

研究中一个特别有趣的发现是,结构化推理模板的效果因AI模型能力而异。对于能力较强的模型如Opus-4.5,结构化模板带来显著提升。但对于本身就很强的模型如Sonnet-4.5在某些任务上,结构化模板的额外收益有限,这表明当基础模型足够强大时,结构化推理的边际效益可能会递减。这个发现对于实际部署很重要,提示我们需要根据所使用的AI模型来调整推理策略。

研究团队还发现了一些有趣的失败模式。在故障定位任务中,AI最难处理的是那些间接导致错误的bug。比如测试调用函数A,但真正的问题在函数B中,而函数B是函数A的配置类。这种情况下,AI往往会被直接的调用关系误导,忽略了间接的依赖关系。另外,跨多个文件的复杂bug也容易被遗漏,因为AI需要同时理解多个文件之间的交互关系。

在代码问答方面,半正式推理偶尔会出现"过度自信"的问题。AI构建了详细的推理链条,但忽略了某些下游代码路径,导致得出错误但看起来很有说服力的结论。这提醒我们,即使有了结构化推理,也需要保持谨慎,特别是在关键决策中。

从技术实现角度看,半正式推理实际上是通过特殊设计的提示模板来引导AI的思考过程。这些模板针对不同任务有不同的结构,但都遵循相同的原则:明确前提、追踪执行、得出结论。这种方法的优雅之处在于不需要训练新的模型或者开发专门的工具,仅通过改变与AI的交互方式就能获得显著提升。

这项研究还有一个重要的理论意义:它证明了在自然语言和完全形式化方法之间存在一个有效的中间地带。完全形式化的方法虽然严谨,但需要将代码翻译成形式化语言,这在处理复杂的真实世界代码时往往不切实际。而完全非结构化的方法虽然灵活,但容易出错。半正式推理找到了一个平衡点,既保持了自然语言的灵活性,又通过结构化模板提供了一定的严谨性保证。

研究团队在实验设计上也很用心。他们故意构造了一个更具挑战性的测试集,而不是使用随机采样,因为随机采样往往会产生太多容易区分的案例。通过重点测试那些表面相似但实质不同的代码对,他们能更好地评估方法的真实效果。这种实验设计思路值得其他研究借鉴。

对于软件工程实践者来说,这项研究提供了一个新的思路:与其完全依赖工具自动化或纯人工审核,可以考虑采用这种半正式推理的方法作为中间方案。它比完全自动化更可靠,比纯人工审核更高效,特别适合用于初步筛选和风险评估。

这项研究还暗示了未来AI辅助编程的一个重要发展方向:从简单的代码生成转向深层的代码理解和推理。随着模型能力的不断提升,我们可能会看到更多类似的技术,帮助开发者更好地理解和维护复杂的代码系统。

总的来说,Meta的这项研究为AI代码分析领域提供了一个实用而有效的新工具。虽然它不能解决所有问题,但在特定场景下已经显示出了足够的实用价值。随着技术的进一步完善和推广,它有可能成为软件开发工具链中的标准组件,帮助开发者写出更可靠的代码。

Q&A

Q1:什么是半正式推理技术?

A:半正式推理是Meta开发的一种AI代码分析方法,要求AI在分析代码时必须展示完整的思考过程:明确前提条件、逐步追踪代码执行路径、最后得出结论。这就像要求学生做数学题时不仅给出答案,还要写出详细的解题步骤,避免跳步导致的错误。

Q2:半正式推理比传统方法强在哪里?

A:传统AI分析代码往往基于表面特征就匆忙下结论,而半正式推理强制AI进行系统性思考。在补丁等效性验证中准确率从78%提升到88%,在代码问答中达到87%准确率,在故障定位中也有5-12个百分点的提升。

Q3:这项技术能用在哪些实际场景中?

A:主要应用于三个场景:一是软件开发中的代码审核,帮助程序员快速发现潜在问题;二是AI训练过程中的代码验证,减少需要实际运行测试的次数;三是大型代码库的故障定位,帮助开发者更快找到bug的根本原因。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国农民倒了什么血霉,被这样的人研究

中国农民倒了什么血霉,被这样的人研究

多村来信
2026-03-18 16:29:30
44岁柳岩一袭蓝裙封神,这若隐若现的腰臀比,谁看了不迷糊?

44岁柳岩一袭蓝裙封神,这若隐若现的腰臀比,谁看了不迷糊?

娱乐领航家
2026-03-26 22:00:03
蓝莓再次被关注?研究发现:蓝莓或可在30小时内清除体内45%因子

蓝莓再次被关注?研究发现:蓝莓或可在30小时内清除体内45%因子

岐黄传人孙大夫
2026-03-24 22:55:03
中央定调,养老金调整方向明确,2026年若上涨,企退能多涨3%吗?

中央定调,养老金调整方向明确,2026年若上涨,企退能多涨3%吗?

有范又有料
2026-03-26 14:35:52
3月26日俄乌最新:靴子终于落地了

3月26日俄乌最新:靴子终于落地了

西楼饮月
2026-03-26 19:48:54
IGN怒打9分 玩家好评如潮:这款游戏销量破50万!

IGN怒打9分 玩家好评如潮:这款游戏销量破50万!

游民星空
2026-03-26 11:58:13
亲戚借车从不加油,这次他故意空着油箱给她,她老公却急了:我上次不是刚加了600块的油吗!

亲戚借车从不加油,这次他故意空着油箱给她,她老公却急了:我上次不是刚加了600块的油吗!

品读时刻
2026-03-25 09:04:33
老子二千年前就说透了:上天会用各种方式,把你引到你该走的路上

老子二千年前就说透了:上天会用各种方式,把你引到你该走的路上

千秋文化
2026-03-24 21:30:09
OpenAI宣布关闭Sora视频应用,终止与迪士尼10亿美元合作

OpenAI宣布关闭Sora视频应用,终止与迪士尼10亿美元合作

澎湃新闻
2026-03-25 09:38:08
广东3消息!徐杰胡明轩齐发声,徐昕无缘回归,焦泊乔伤愈复出

广东3消息!徐杰胡明轩齐发声,徐昕无缘回归,焦泊乔伤愈复出

多特体育说
2026-03-26 22:41:13
大学生的天塌了,月薪800起搞个毛线啊?

大学生的天塌了,月薪800起搞个毛线啊?

涛哥锐评
2026-03-26 17:54:00
郑裕彤家族为什么不自救?不是说香港豪门隐形资产很多么?

郑裕彤家族为什么不自救?不是说香港豪门隐形资产很多么?

担扑
2026-03-26 17:02:51
举国之力也找不到完整夏朝,为何?网友的神预言正在被考古证实

举国之力也找不到完整夏朝,为何?网友的神预言正在被考古证实

超人强动物俱乐部
2026-03-26 16:54:48
汪小菲马筱梅基因太绝!家中“小炸毛”萌翻全网这颜值太招人疼!

汪小菲马筱梅基因太绝!家中“小炸毛”萌翻全网这颜值太招人疼!

孤酒老巷QA
2026-03-24 05:34:17
参加世界杯,每人先交1.5万刀!特朗普政策影响多个世界杯参赛国

参加世界杯,每人先交1.5万刀!特朗普政策影响多个世界杯参赛国

全景体育V
2026-03-26 08:16:09
张雪峰追悼会周六将在苏州殡仪馆举行

张雪峰追悼会周六将在苏州殡仪馆举行

界面新闻
2026-03-26 07:04:27
Anthropic冲塔ASI自进化,要做全球操作系统!Claude OS一刀砍向6.4万亿帝国

Anthropic冲塔ASI自进化,要做全球操作系统!Claude OS一刀砍向6.4万亿帝国

新智元
2026-03-25 19:40:39
麦迪:杨瀚森球商高有注定长期竞争力,打法让我想到约基奇

麦迪:杨瀚森球商高有注定长期竞争力,打法让我想到约基奇

懂球帝
2026-03-26 11:45:09
张雪峰生前推荐的6所高校,性价比极高,记得默默收藏!

张雪峰生前推荐的6所高校,性价比极高,记得默默收藏!

教育导向分享
2026-03-25 22:32:02
拉里贾尼继任者不到一天被杀,川普加派82空降师开赴中东

拉里贾尼继任者不到一天被杀,川普加派82空降师开赴中东

移光幻影
2026-03-26 09:56:37
2026-03-27 02:03:00
科技行者 incentive-icons
科技行者
科技正在如何变革商业世界
7765文章数 556关注度
往期回顾 全部

科技要闻

美团发布外卖大战后成绩单:亏损超200亿

头条要闻

特朗普:伊朗允许10艘油轮通行霍尔木兹海峡

头条要闻

特朗普:伊朗允许10艘油轮通行霍尔木兹海峡

体育要闻

申京努力了,然而杜兰特啊

娱乐要闻

刘晓庆妹妹发声!称姐姐受身边人挑拨

财经要闻

油价"驯服"特朗普?一到100美元就TACO

汽车要闻

一汽奥迪A6L e-tron开启预售 CLTC最大续航815km

态度原创

亲子
健康
教育
时尚
艺术

亲子要闻

看看把孩子吓得哈哈哈

转头就晕的耳石症,能开车上班吗?

教育要闻

精准研判,提质增效丨我校召开2026届毕业生就业工作研判会

400万人爱过的女孩,被黄谣网暴180天后

艺术要闻

北京大兴机场和青岛胶东机场“撞脸”,长得像就是抄袭?

无障碍浏览 进入关怀版