What is it about?
What if end users could own the whole software development life cycle from conception through deployment using only natural requirements, that is, a mix of natural language, pictures (such as sketches of user interfaces), audio, or even a video demonstration? In his 1998 Turing Lecture, Jim Gray described automatic programming as a Turing-style imitation game for a programming staff: replace a software development team with a computer that is "better and requires no more time than dealing with a typical human staff''. The hypothesis of our paper is that Gray's challenge can soon be achieved by building on generative AI. In the paper, we explore the limits and possibilities of end users not only expressing requirements but using them to direct software testing and adaption to deployment changes. We discuss the recent technical breakthroughs that have paved the way and the future work needed to realise this vision in a research agenda encompassing requirements elicitation, testing, and maintenance and deployment.
Featured Image
Why is it important?
By definition, automatic programming solves the problems of end user programmers since they can simply work with the automatic programmer to build apps to meet their needs. Automatic programming will lead to dramatic increases in productivity for end users in many professions.
Perspectives
Read the Original
This page is a summary of: Requirements are All You Need: The Final Frontier for End-User Software Engineering, ACM Transactions on Software Engineering and Methodology, December 2024, ACM (Association for Computing Machinery),
DOI: 10.1145/3708524.
You can read the full text:
Resources
Contributors
The following have contributed to this page