← 最新论文
💻 computer science

Can Large Language Models Reason About Complex Execution Paths? An Empirical Study on Python

本文通过一项实证研究表明,大型语言模型能够有效地针对测试用例生成和缺陷检测进行复杂的 Python 执行路径推理,从而在传统符号执行工具难以应对的场景中,作为一种极具前景的补充方法。

原作者: Wenhan Wang, Kaibo Liu, Zeyu Sun, An Ran Chen, Ge Li, Gang Huang, Lei Ma

发布于 2026-06-19
📖 1 分钟阅读☕ 轻松阅读

原作者: Wenhan Wang, Kaibo Liu, Zeyu Sun, An Ran Chen, Ge Li, Gang Huang, Lei Ma

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下你正在试图解决一个巨大的、纠缠不清的迷宫。在计算机编程的世界里,这个迷宫就是一段代码,而“路径”则是计算机运行该代码时所采取的具体路线。有时,你需要确切知道如何从起点到达某个特定的死胡同(为了寻找 Bug),或者如何强迫计算机走一条非常特定且复杂的路线(以测试它是否能正常工作)。

传统上,程序员使用一种叫做**符号执行(Symbolic Execution)**的工具来解决这些迷宫。把这个工具想象成一个极其精确、刻板的机器人,它遵循严格的数学规则。它擅长处理简单的迷宫,但如果迷宫有移动的墙壁、秘密门,或者需要理解复杂的地图(比如 Python 灵活的代码),这个机器人就会感到困惑并停止工作。

这篇论文提出了一个宏大的问题:大语言模型(LLM)——也就是那种能写诗和回答问题的 AI——能否成为比这个机器人更优秀的迷宫解题者?

以下是研究人员的发现,用简单的语言进行了说明:

1. 作为“聪明侦探”的 AI

研究人员在两个主要任务上对 AI 模型进行了测试,并以 Python 代码作为它们的游乐场。

任务 A:“寻宝游戏”(测试用例生成)

  • 目标: 给定 AI 一张特定的迷宫地图(执行路径),并要求它找到确切的起始钥匙(输入数据),从而让计算机走完这条完全相同的路径。
  • 结果: AI 的表现出奇地好。最聪明的模型(被称为“推理模型”)即使在路径非常长且复杂的情况下,也能在约 65% 的情况下取得成功。
  • 陷阱: AI 有时会变得“过度自信”,或者被复杂的循环(比如一个绕回自身的走廊)搞糊涂。此外,虽然“推理型”模型比标准模型更好,但它们并不总是完美的。有时,一个更简单、更小的模型表现得同样出色。

任务 B:“测谎仪”(路径分类)

  • 目标: 向 AI 展示一张地图,并问它:“这条路径是可能的吗?还是会导致崩溃(比如除以零)?”
  • 结果: AI 在识别崩溃方面表现尚可,但在区分“可能路径”与“不可能路径”方面却很吃力。
  • “过度思考”问题: 这里有一个有趣的转折。最聪明的“推理型”模型实际上表现得比简单的模型还要。为什么呢?因为它们开始过度思考了。它们能正确识别出崩溃,但它们的内心独白会变成:“等等,但万一……不,但也许……”然后它们就把答案改成了错误的。这就像是一个找到了罪犯的侦探,却在自我怀疑中说服了自己放弃追捕。

2. 现实世界测试

研究人员不仅使用了简单的谜题,还在真实世界的软件(如实际应用中的代码)上测试了 AI。

  • 好消息: 当 AI 被给予路径地图时,它有助于编写覆盖更多代码范围的更好测试。
  • 坏消息: 最大的问题不在于 AI 理解路径的能力,而在于它编写的测试在尝试运行时经常崩溃。AI 可以理解理论,但在实际执行层面仍然存在瓶颈。

3. 速度 vs. 智力

  • 机器人(传统工具): 速度快,但在处理复杂、灵活的代码时容易崩溃。
  • 简单 AI: 快速且廉价,但面对难题时有时会出错。
  • 推理 AI: 非常聪明,但极其缓慢。一个模型为了解决单个路径竟然花费了超过 5 分钟的时间,并生成了数千字的“思考过程”才得出答案。这就像雇佣了一位天才,仅仅为了解决一个计算器可以在一秒钟内完成的谜题,却需要他花上一周的时间去钻研。

总结

论文得出结论,AI 模型正变得足够强大,能够理解计算机程序是如何“思考”以及如何在代码中移动的,即使是在传统工具会失效的语言(如 Python)中也是如此。

  • 它们擅长于: 寻找正确的输入,以强迫程序走过某条特定的、复杂的路径。
  • 它们尚可于: 发现 Bug,但有时会陷入自己冗长的思维链中而感到困惑。
  • 它们还不是: 传统工具的完美替代品,因为它们速度较慢,且生成的代码有时无法实际运行。

可以这样理解:AI 是一位才华横溢、富有想象力的建筑师,能够为穿过迷宫的路径绘制出一份完美的蓝图。但有时,施工队(实际的代码执行)无法建造出建筑师画出的东西,或者建筑师在递交计划书之前,会花大量时间在设计方案上进行辩论。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →