From What to How: Bridging User Requirements with Software Development Using Large Language Models

📄 arXiv: 2602.13611v1 📥 PDF

作者: Xiao He, Ru Chen, Jialun Cao

分类: cs.SE, cs.AI

发布日期: 2026-02-14


💡 一句话要点

提出DesBench基准,评估大语言模型在软件设计任务中的能力

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

关键词: 大语言模型 软件设计 基准测试 代码生成 面向对象建模

📋 核心要点

  1. 现有LLM基准侧重于代码实现,忽略了软件设计这一关键环节,无法全面评估LLM在软件开发中的能力。
  2. 论文提出DesBench基准,包含设计感知的代码生成、面向对象建模和验收测试用例设计三个任务,以评估LLM的设计能力。
  3. 实验结果表明,LLM在代码生成和面向对象建模方面存在不足,但在验收测试用例生成方面表现出与人类相当的水平。

📝 摘要(中文)

本文提出了DesBench,一个面向软件设计的基准测试,用于评估大型语言模型(LLMs)在三个软件设计相关任务上的表现:设计感知的代码生成、面向对象建模和验收测试用例的设计。DesBench包含30个手工构建的Java项目,包括需求文档、设计模型、实现和验收测试,总计30个设计模型,194个Java类和737个测试用例。使用DesBench评估了七个最先进的LLM,包括三个DeepSeek R1,两个Qwen2.5和两个GPT模型。结果表明,LLM在软件设计的复杂性方面仍然面临重大挑战:(1)对于代码生成,当仅提供高级或没有设计时,LLM难以生成正确的实现。(2)在面向对象建模中,虽然LLM可以准确地识别对象和类,但它们在定义操作和类间关系方面面临挑战。(3)LLM从功能需求生成的验收测试用例实现了与人类编写的测试用例相当的代码覆盖质量。这项研究强调了LLM在管理软件设计方面的当前局限性,并呼吁进一步研究适用于基于LLM的开发的新设计方法和语言。

🔬 方法详解

问题定义:现有的大语言模型(LLMs)在软件开发领域的应用主要集中在代码生成方面,缺乏对软件设计能力的评估。现有的基准测试忽略了软件设计的重要性,无法全面反映LLMs在整个软件开发生命周期中的潜力。因此,如何评估LLMs在软件设计方面的能力,成为了一个亟待解决的问题。

核心思路:本文的核心思路是构建一个专门用于评估LLMs软件设计能力的基准测试集,即DesBench。DesBench包含多个软件设计相关的任务,例如设计感知的代码生成、面向对象建模和验收测试用例设计。通过在DesBench上评估LLMs的表现,可以更全面地了解LLMs在软件设计方面的优势和不足。

技术框架:DesBench基准测试集包含以下几个主要组成部分:1) 需求文档:描述了软件项目的功能需求。2) 设计模型:包括UML类图等,描述了软件的结构和组件之间的关系。3) 实现代码:使用Java编写的软件实现。4) 验收测试:用于验证软件是否满足需求。评估流程包括:1) 给定需求文档和/或设计模型,要求LLM生成代码、设计模型或测试用例。2) 使用预定义的指标评估LLM生成的代码、设计模型或测试用例的质量。

关键创新:DesBench的关键创新在于其设计感知的特性。与传统的代码生成基准测试不同,DesBench不仅关注LLM生成代码的正确性,还关注LLM是否能够遵循给定的设计模型。此外,DesBench还包含了面向对象建模和验收测试用例设计等软件设计相关的任务,从而更全面地评估LLMs的软件设计能力。

关键设计:DesBench包含了30个手工构建的Java项目,涵盖了不同的应用领域和复杂度。每个项目都包含了需求文档、设计模型、实现代码和验收测试。设计模型采用UML类图表示,包含了类、属性、方法和类之间的关系等信息。验收测试使用JUnit框架编写,包含了多个测试用例,用于验证软件的功能是否正确。

📊 实验亮点

实验结果表明,LLM在设计感知的代码生成和面向对象建模方面仍存在较大挑战,难以生成完全正确的代码和准确的类间关系。然而,在验收测试用例生成方面,LLM生成的测试用例的代码覆盖率与人工编写的测试用例相当,表明LLM在理解需求和生成测试用例方面具有一定的潜力。

🎯 应用场景

该研究成果可应用于自动化软件开发流程,通过评估LLM在软件设计方面的能力,可以更好地利用LLM辅助软件工程师完成设计任务,提高开发效率和软件质量。未来,可以进一步研究如何利用LLM自动生成高质量的设计模型,并将其应用于实际的软件开发项目中。

📄 摘要(原文)

Recently, large language models (LLMs) are extensively utilized to enhance development efficiency, leading to numerous benchmarks for evaluating their performance. However, these benchmarks predominantly focus on implementation, overlooking the equally critical aspect of software design. This gap raises two pivotal questions: (1) Can LLMs handle software design? (2) Can LLMs write code following the specific designs? To investigate these questions, this paper proposes DesBench, a design-aware benchmark for evaluating LLMs on three software design-related tasks: design-aware code generation, object-oriented modeling, and the design of acceptance test cases. DesBench comprises 30 manually crafted Java projects that include requirement documents, design models, implementations, and acceptance tests, amounting to a total of 30 design models, 194 Java classes, and 737 test cases. We evaluated seven state-of-the-art LLMs, including three DeepSeek R1, two Qwen2.5, and two GPT models, using DesBench. The results reveal that LLMs remain significantly challenged by the intricacies of software design: (1) For code generation, LLMs struggle to produce correct implementations when provided with only high-level or no designs. (2) In object-oriented modeling, while LLMs can accurately identify objects and classes, they face challenges in defining operations and inter-class relationships. (3) Acceptance test cases generated by LLMs from functional requirements achieve code coverage quality comparable to those written by humans. Our research highlights the current limitations of LLMs in managing software design and calls for further investigation into new design methodologies and languages suitable for LLM-based development.