ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design
This work addresses the challenge of improving code quality and software design processes for software engineers using LLMs, but it is incremental as it builds on existing prompt engineering concepts.
The paper tackles the problem of using large language models like ChatGPT for software engineering tasks by presenting prompt design techniques in the form of patterns to automate activities such as code decoupling and API simulation, resulting in a catalog of patterns classified by problem types and exploration of their application in areas like requirements elicitation and refactoring.
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.