← 最新论文
💻 computer science

A Pilot Study on Detecting Software Design Patterns with Large Language Models: An Empirical Evaluation

该研究通过实证评估了四种大语言模型及两种集成方法在不同输入形式(源代码、PlantUML 图表和文本描述)下对五种软件设计模式的检测能力,结果显示 NextCoder 和 Gemma 3 表现优异且集成方法能提升整体检测效率。

原作者: Oishik Chowdhury, Bastin Tony Roy Savarimuthu, Sherlock A. Licorish

发布于 2026-04-21
📖 1 分钟阅读☕ 轻松阅读

原作者: Oishik Chowdhury, Bastin Tony Roy Savarimuthu, Sherlock A. Licorish

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

这篇论文就像是一场**“寻找软件建筑图纸的侦探实验”**。

想象一下,你走进了一座巨大的、由乐高积木搭建的迷宫(这就是复杂的软件系统)。这座迷宫里藏着一些特定的“经典建筑模式”,比如“单点控制室”(单例模式)、“万能转换器”(适配器模式)等。这些模式能让建筑更稳固、更灵活。

但是,迷宫太大太乱了,新来的建筑工人(新手程序员)很难一眼看出哪里藏着这些经典模式,老工人(资深程序员)虽然能看出来,但一个个找太费时间了。

于是,研究者们请来了四位**“超级 AI 侦探”**(大语言模型),想看看它们能不能帮我们要快速找到这些藏在代码里的“经典建筑”。

1. 侦探们是谁?(实验对象)

研究团队请了四位不同的 AI 侦探:

  • Qwen2.5 Coder:一位专门受过编程特训的“代码专家”。
  • NextCoder:另一位编程高手。
  • Nxcode-CQ:第三位编程能手。
  • Gemma 3:这位有点特别,它不是专门学编程的,更像是一位**“通才”**,平时什么书都读,但没专门练过写代码。

此外,他们还搞了两个**“侦探小队”**(集成方法),把其中三位侦探的意见凑在一起,采用“少数服从多数”的原则来下结论,看看是不是人多力量大。

2. 他们怎么找?(三种线索)

为了测试这些侦探的本事,研究者们给了它们三种不同形式的“线索”:

  1. 原始代码:就像直接给侦探看乐高积木的搭建说明书,全是密密麻麻的指令。
  2. PlantUML 图表:就像给侦探看建筑的平面草图,把复杂的积木关系简化成了线条和方块。
  3. 文字描述:就像给侦探看一段文字故事,用大白话描述这个建筑是怎么运作的,没有技术术语。

3. 侦探们找到了什么?(实验结果)

  • 谁最厉害?

    • NextCoder(编程专家)和 Gemma 3(通才)表现最亮眼!特别是 Gemma 3,作为一个没专门学过编程的模型,居然在通过“文字描述”找模式时,表现得比很多编程专家还要好。这让人惊讶:也许不需要专门的“代码专家”,只要“理解力”够强,也能干这活。
    • 侦探小队(集成方法):把几个侦探的意见合在一起,确实比单干更稳,准确率更高,就像“三个臭皮匠,顶个诸葛亮”。
  • 哪种线索最好用?

    • 这就很有趣了。大家原本以为“原始代码”最详细,应该最好用;或者“草图”最直观。
    • 但结果显示:三种线索的效果差不多! 无论是看代码、看草图,还是读文字故事,AI 侦探们找对“经典建筑”的概率都差不多。这意味着,以后我们给 AI 提供信息时,不用非得纠结是给它看代码还是看图表,怎么方便怎么来。
  • 哪里比较难?

    • 有些模式(比如“单例”和“装饰器”)比较简单,AI 很容易认出。
    • 但有些复杂的模式(比如“组合”模式),AI 就有点晕头转向,经常漏掉。这就像在迷宫里找那些结构特别复杂的机关,AI 有时候会看走眼。

4. 这对我们意味着什么?(结论与启示)

  • AI 是个好帮手:以前找这些代码里的“经典模式”全靠人工,又慢又容易累。现在有了 AI,就像给侦探配了个**“超级放大镜”**,能帮新手快速理解复杂的软件结构,也能帮老手快速发现哪里修得不对。
  • 不用太纠结格式:你不需要为了训练 AI 而特意把代码转成图表或文字,直接给什么它都能处理得不错。
  • 未来可期:虽然现在的 AI 还不能 100% 完美地找出所有模式(特别是那些特别复杂的),但它们已经展现出了巨大的潜力。未来的 AI 可能会像经验丰富的老工匠一样,一眼就能看出软件架构里的“门道”。

一句话总结:
这项研究告诉我们,现在的 AI 已经能像经验丰富的老侦探一样,通过看代码、看图表或读故事,帮我们快速发现软件里的“经典设计模式”。而且,有时候一个**“通才”AI**(Gemma 3)的表现甚至能打败专门的“代码专家”,这为未来软件开发工具的发展打开了新的大门。

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

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

试用 Digest →