ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design
Jules White, Sam Hays, Quchen Fu, Jesse Spencer-Smith, Douglas C., Schmidt

TL;DR
This paper introduces prompt design patterns for large language models to enhance various software engineering tasks, including code quality, refactoring, requirements gathering, and system design, providing a structured catalog and practical examples.
Contribution
It offers a novel catalog of prompt patterns for software engineering tasks and demonstrates their application to improve LLM-assisted development processes.
Findings
Catalog of prompt patterns for software engineering
Improved code quality and refactoring using prompts
Enhanced requirements elicitation and system design
Abstract
This paper presents prompt design techniques for software engineering, in the form of patterns, to solve common problems when using large language models (LLMs), such as ChatGPT to automate common software engineering activities, such as ensuring code is decoupled from third-party libraries and simulating a web application API before it is implemented. This paper provides two contributions to research on using LLMs for software engineering. First, it provides a catalog of patterns for software engineering that classifies patterns according to the types of problems they solve. Second, it explores several prompt patterns that have been applied to improve requirements elicitation, rapid prototyping, code quality, refactoring, and system design.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Scientific Computing and Data Management
