Semantic Reverse Engineering Legacy Software Applications with ChatGPT, Gemini AI, and Claude AI

本研究报告呈现了利用 ChatGPT、Gemini 和 Claude 人工智能对遗留数据库软件应用程序进行语义逆向工程的发现。

原作者: Christian Mancas, Diana Christina Mancas

发布于 2026-05-07
📖 1 分钟阅读☕ 轻松阅读

原作者: Christian Mancas, Diana Christina Mancas

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

Each language version is independently generated for its own context, not a direct translation.

想象一下,你拥有一座非常古老、布满灰尘的图书馆,里面藏着的书籍是用一种早已无人使用的语言写成的。你没有字典,作者们也早已作古。你的目标不仅仅是抄写页面上的字母(那很容易);你的目标是理解作者试图遵循的故事逻辑规则

这篇论文讲述的是一支研究团队,试图利用三种不同的“超级智能机器人”(ChatGPT、Gemini 和 Claude)来阅读这些古老的计算机程序,并解释它们实际上做了什么

以下是他们实验的分解,使用了简单的类比:

任务:解码机器中的“幽灵”

研究人员拥有一些旧软件(称为“遗留代码”),它们就像俱乐部的门卫。这位门卫有特定的规则:

  1. 地理规则:“如果一个城市是一个国家的首都,它必须属于那个国家。”
  2. 皇室规则:“两位国王不能同时统治同一个国家,除非他们是夫妻或父母/子女关系。”

问题出在哪里?代码是用一种旧风格(VBA)编写的,没有任何注释来解释为什么要这样写。研究人员想知道,人工智能能否查看代码并说:“啊,我明白了!这段代码正在执行‘首都必须与国家匹配’的规则。”

三位机器人(人工智能工具)

研究人员测试了三种不同的人工智能“侦探”:

1. ChatGPT:深思熟虑的导师

  • 工作原理:ChatGPT 就像一个非常想答对题的聪明学生。当研究人员给它第一个简单的规则时,它完全理解了。
  • 错误:当研究人员给它复杂的“皇室规则”时,ChatGPT 最初搞错了故事。它认为代码是在拒绝一段婚姻,而实际上,代码是在拒绝对现有婚姻的更改
  • 恢复:当研究人员纠正它时,ChatGPT 没有只说“好的”。它说:“哦!我明白了我的错误。我看了逻辑中错误的部分。你是对的:这无关乎婚姻的状态,而是关于转换配偶。”它从纠正中吸取了教训,并解释了为什么它是错的。
  • 结论:最擅长理解深层含义,并承认自己出错。

2. Claude:优雅的诗人

  • 工作原理:Claude 非常礼貌,并欣赏代码的数学之美。它立即理解了简单的规则,并赞扬了研究人员巧妙的逻辑。
  • 错误:和 ChatGPT 一样,它最初也搞错了复杂的“皇室规则”。它提出了一个令人困惑的说法,即“已婚夫妇不可能同时统治”,这毫无意义。
  • 恢复:在被纠正后,它承认了错误并最终理解了逻辑。然而,与它交流非常缓慢(研究人员在问题之间必须等待数小时),使得整个过程感觉像是一场非常缓慢、正式的下午茶会。
  • 结论:非常擅长理解,但速度慢且略显僵化。

3. Gemini:过度热情的艺术家

  • 工作原理:Gemini 是最具戏剧性的。它不会说“这段代码检查一个城市是否属于一个国家”,而是会说类似这样的话:“这是一个生物逻辑自修复传感器,正在检测伦理破裂!”它使用了过多的隐喻(细菌、石灰岩、迷宫),并试图说服研究人员使用不同的现代工具,而不是分析旧代码。
  • 错误:它把简单的数学搞错了(将一个函数称为“满射”,而实际上是“单射”),并且在被纠正后,它假装理解,却继续犯同样的错误。
  • 结论:过于华丽和冗长。它迷失在自己的隐喻中,无法坚持事实。

重大发现:“状态”与“变化”

这篇论文最重要的教训是逻辑上一个微妙但巨大的区别:

  • 状态:当前情况是否有效?(例如:“这段婚姻合法吗?”)
  • 转换改变情况的行动是否有效?(例如:“我可以替换丈夫吗?”)

研究人员发现,人工智能工具非常擅长识别“状态”(简单的规则)。但当涉及到复杂的“转换”规则(皇室规则)时,它们都感到困惑。它们认为代码是在阻止婚姻的发生,而实际上它是在阻止对婚姻的更改

最终结论

研究人员得出结论:

  1. 人工智能是解决小谜题的得力助手:如果你给人工智能一小段代码,它能很好地解释它。
  2. 人工智能尚未取代专家:如果代码稍大或更复杂,人工智能可能会自信地解释出与代码实际作用完全相反的内容。
  3. 数学很重要:研究人员指出,当引导人工智能的人类懂得数学(如集合论和逻辑)时,人工智能工具的表现最好。人工智能需要一个懂“逻辑”的人类来引导它走上正轨。

简而言之:这些人工智能工具就像非常聪明的实习生。它们可以阅读手册并完美地解释基础知识,但如果你给它们一个棘手、现实世界的场景,它们可能会自信地告诉你一个错误的故事。你仍然需要一位熟练的人类工程师来复核它们的工作。

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

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

试用 Digest →