ArchCode: Incorporating Software Requirements in Code Generation with Large Language Models
Hojae Han, Jaejin Kim, Jaeseok Yoo, Youngwon Lee, Seung-won Hwang

TL;DR
This paper presents ARCHCODE, a framework that uses large language models to extract, organize, and incorporate both functional and non-functional software requirements from textual descriptions into code generation, improving accuracy and compliance.
Contribution
ARCHCODE introduces a novel in-context learning approach to manage software requirements, including unexpressed non-functional aspects, for enhanced code generation with LLMs.
Findings
Significantly improves Pass@k scores for functional requirements
First evaluation of LLMs on non-functional requirements in code generation
ARCHCODE outperforms baseline methods in requirement satisfaction
Abstract
This paper aims to extend the code generation capability of large language models (LLMs) to automatically manage comprehensive software requirements from given textual descriptions. Such requirements include both functional (i.e. achieving expected behavior for inputs) and non-functional (e.g., time/space performance, robustness, maintainability) requirements. However, textual descriptions can either express requirements verbosely or may even omit some of them. We introduce ARCHCODE, a novel framework that leverages in-context learning to organize requirements observed in descriptions and to extrapolate unexpressed requirements from them. ARCHCODE generates requirements from given descriptions, conditioning them to produce code snippets and test cases. Each test case is tailored to one of the requirements, allowing for the ranking of code snippets based on the compliance of their…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Software Engineering Research · Software Testing and Debugging Techniques
