Requirements are All You Need: From Requirements to Code with LLMs
Bingyang Wei
TL;DR
The paper tackles translating detailed software requirements into executable code using a tailored large-language-model workflow. It introduces Progressive Prompting and an external knowledge base to guide a customized GPT (Software Engineer GPT) from requirements through functional specifications, object-oriented design, tests, and implementation. A case study on the SuperFrog Scheduler demonstrates end-to-end generation with intermediate artifacts that support verification and traceability, underscoring potential gains in efficiency and quality. The work highlights the continued centrality of requirements engineering, the role of human collaboration, and future directions for education, tooling, and broader evaluation in AI-assisted software engineering.
Abstract
The pervasive use of textual formats in the documentation of software requirements presents a great opportunity for applying large language models (LLMs) to software engineering tasks. High-quality software requirements not only enhance the manual software development process but also position organizations to fully harness the potential of the emerging LLMs technology. This paper introduces a tailored LLM for automating the generation of code snippets from well-structured requirements documents. This LLM is augmented with knowledge, heuristics, and instructions that are pertinent to the software development process, requirements analysis, object-oriented design, and test-driven development, effectively emulating the expertise of a seasoned software engineer. We introduce a "Progressive Prompting" method that allows software engineers to engage with this LLM in a stepwise manner. Through this approach, the LLM incrementally tackles software development tasks by interpreting the provided requirements to extract functional requirements, using these to create object-oriented models, and subsequently generating unit tests and code based on the object-oriented designs. We demonstrate the LLM's proficiency in comprehending intricate user requirements and producing robust design and code solutions through a case study focused on the development of a web project. This study underscores the potential of integrating LLMs into the software development workflow to significantly enhance both efficiency and quality. The tailored LLM is available at https://chat.openai.com/g/g-bahoiKzkB-software-engineer-gpt.
