Prompted Software Engineering in the Era of AI Models

Dae-Kyoo Kim
2023-09-08
Abstract:This paper introduces prompted software engineering (PSE), which integrates prompt engineering to build effective prompts for language-based AI models, to enhance the software development process. PSE enables the use of AI models in software development to produce high-quality software with fewer resources, automating tedious tasks and allowing developers to focus on more innovative aspects. However, effective prompts are necessary to guide software development in generating accurate, relevant, and useful responses, while mitigating risks of misleading outputs. This paper describes how productive prompts should be built throughout the software development cycle.
Software Engineering
What problem does this paper attempt to address?
This paper aims to solve the problem of how to effectively utilize language models (such as ChatGPT) in the software development process. Specifically, the paper focuses on constructing effective prompts to guide these AI models to generate accurate, relevant, and useful responses while reducing the risk of misleading outputs. Traditional software development is a labor - intensive process involving multiple stages such as requirement analysis, design, implementation, testing, and bug fixing. This process is usually time - consuming and costly. With the emergence of AI models, they can automatically generate high - quality designs and code, significantly reducing the time and cost of software development and improving software quality. However, the effectiveness of AI models largely depends on the quality of the provided prompts. Therefore, designing effective prompts has become a crucial issue to ensure that AI models can produce high - quality software development results while reducing potential risks. The paper introduces "Prompted Software Engineering (PSE)", which is a method that combines prompt engineering with software engineering, aiming to fully utilize the advantages of AI models and optimize the software development process.