Using LLMs in Generating Design Rationale for Software Architecture Decisions

📄 arXiv: 2504.20781v3 📥 PDF

作者: Xiyu Zhou, Ruiyin Li, Peng Liang, Beiqi Zhang, Mojtaba Shahin, Zengyang Li, Chen Yang

分类: cs.SE, cs.AI

发布日期: 2025-04-29 (更新: 2025-12-09)

备注: Preprint accepted for publication in ACM Transactions on Software Engineering and Methodology (TOSEM), 2025


💡 一句话要点

利用大型语言模型生成软件架构决策的设计原理

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 软件架构决策 设计原理 自动生成 提示工程

📋 核心要点

  1. 软件架构决策的设计原理(DR)对软件开发至关重要,但由于开发人员缺乏动力,DR文档通常不完整。
  2. 本研究探索利用大型语言模型(LLM)自动生成DR,通过不同的prompt策略,提高DR的生成效率和质量。
  3. 实验结果表明,LLM在生成DR方面具有潜力,但仍存在改进空间,需要结合人工干预以提高其可信度和实用性。

📝 摘要(中文)

软件架构决策的设计原理(DR)是指架构选择背后的推理,它为整个软件开发过程中架构过程的不同阶段提供了有价值的见解。然而,在实践中,由于开发人员缺乏动力和努力,DR通常没有得到充分的记录。随着大型语言模型(LLM)的最新进展,它们在文本理解、推理和生成方面的能力可能能够生成和恢复架构决策的DR。在这项研究中,我们评估了LLM在生成架构决策的DR方面的性能。首先,我们收集了50个Stack Overflow(SO)帖子、25个GitHub issue和25个与架构决策相关的GitHub讨论,构建了一个包含100个与架构相关的问题的数据集。然后,我们选择了五个LLM,使用三种提示策略(包括零样本、思维链(CoT)和基于LLM的代理)来生成架构决策的DR。以人类专家提供的DR作为ground truth,LLM生成的DR在三种提示策略下的精确率从0.267到0.278,召回率从0.627到0.715,F1值从0.351到0.389。此外,人类专家没有提到的DR论点中,64.45%到69.42%是有帮助的,4.12%到4.87%的论点正确性不确定,1.59%到3.24%的论点可能具有误导性。为了进一步了解LLM生成的DR在实践中的可信度和适用性,我们对六位从业者进行了半结构化访谈。基于实验和访谈结果,我们讨论了三种提示策略的优缺点、LLM生成的DR的优势和局限性,以及LLM生成的DR在实际应用中的意义。

🔬 方法详解

问题定义:软件架构决策的设计原理(DR)对于软件项目的成功至关重要,但现有方法依赖于手动记录,耗时且容易遗漏。开发人员缺乏记录DR的动力,导致DR文档不完整,影响后续的维护和演进。因此,如何自动生成高质量的DR成为一个亟待解决的问题。

核心思路:本研究的核心思路是利用大型语言模型(LLM)强大的文本理解、推理和生成能力,自动生成软件架构决策的DR。通过不同的prompt策略,引导LLM从已有的代码、文档和讨论中提取相关信息,并生成合理的DR。这样可以减轻开发人员的负担,提高DR的生成效率和质量。

技术框架:该研究的技术框架主要包括以下几个步骤:1) 数据收集:收集与软件架构决策相关的Stack Overflow帖子、GitHub issues和GitHub discussions,构建数据集。2) 模型选择:选择五个具有代表性的LLM,例如GPT-3、GPT-4等(具体模型未知)。3) Prompt策略设计:设计三种不同的prompt策略,包括零样本、思维链(CoT)和基于LLM的代理。4) DR生成:使用不同的LLM和prompt策略生成DR。5) 评估:将LLM生成的DR与人工专家提供的DR进行比较,评估其质量。6) 访谈:与软件从业者进行访谈,了解他们对LLM生成的DR的看法和建议。

关键创新:本研究的关键创新在于探索了利用LLM自动生成软件架构决策的DR。与传统的手动记录方法相比,该方法可以显著提高DR的生成效率和质量。此外,该研究还比较了不同的prompt策略对DR生成效果的影响,为后续研究提供了参考。

关键设计:研究中prompt策略的设计是关键。零样本prompt直接要求LLM生成DR,思维链(CoT) prompt引导LLM逐步推理,基于LLM的代理prompt则利用LLM作为代理,模拟人类专家的思考过程。此外,评估指标的选择也很重要,研究采用了精确率、召回率和F1值等指标来评估DR的质量。具体的参数设置、损失函数、网络结构等技术细节在论文中未详细说明,属于LLM本身的设计。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LLM在生成DR方面具有一定的潜力,在三种prompt策略下,LLM生成的DR的精确率在0.267到0.278之间,召回率在0.627到0.715之间,F1值在0.351到0.389之间。此外,64.45%到69.42%的LLM生成的DR论点对用户有帮助。这些结果表明,LLM可以作为辅助工具,帮助开发人员生成DR,但仍需要人工干预以提高其准确性和可信度。

🎯 应用场景

该研究成果可应用于软件开发过程的多个阶段,例如需求分析、架构设计、代码审查和维护。通过自动生成DR,可以帮助开发人员更好地理解架构决策背后的原因,提高代码的可维护性和可扩展性。此外,该研究还可以用于知识管理,将DR作为软件项目的知识资产进行管理和共享,促进团队协作和知识传承。

📄 摘要(原文)

Design Rationale (DR) for software architecture decisions refers to the reasoning underlying architectural choices, which provides valuable insights into the different phases of the architecting process throughout software development. However, in practice, DR is often inadequately documented due to a lack of motivation and effort from developers. With the recent advancements in Large Language Models (LLMs), their capabilities in text comprehension, reasoning, and generation may enable the generation and recovery of DR for architecture decisions. In this study, we evaluated the performance of LLMs in generating DR for architecture decisions. First, we collected 50 Stack Overflow (SO) posts, 25 GitHub issues, and 25 GitHub discussions related to architecture decisions to construct a dataset of 100 architecture-related problems. Then, we selected five LLMs to generate DR for the architecture decisions with three prompting strategies, including zero-shot, chain of thought (CoT), and LLM-based agents. With the DR provided by human experts as ground truth, the Precision of LLM-generated DR with the three prompting strategies ranges from 0.267 to 0.278, Recall from 0.627 to 0.715, and F1-score from 0.351 to 0.389. Additionally, 64.45% to 69.42% of the arguments of DR not mentioned by human experts are also helpful, 4.12% to 4.87% of the arguments have uncertain correctness, and 1.59% to 3.24% of the arguments are potentially misleading. To further understand the trustworthiness and applicability of LLM-generated DR in practice, we conducted semi-structured interviews with six practitioners. Based on the experimental and interview results, we discussed the pros and cons of the three prompting strategies, the strengths and limitations of LLM-generated DR, and the implications for the practical use of LLM-generated DR.