Experimenting with Multi-Agent Software Development: Towards a Unified Platform

Malik Abdul Sami,Muhammad Waseem,Zeeshan Rasheed,Mika Saari,Kari Systä,Pekka Abrahamsson
2024-06-08
Abstract:Large language models are redefining software engineering by implementing AI-powered techniques throughout the whole software development process, including requirement gathering, software architecture, code generation, testing, and deployment. However, it is still difficult to develop a cohesive platform that consistently produces the best outcomes across all stages. The objective of this study is to develop a unified platform that utilizes multiple artificial intelligence agents to automate the process of transforming user requirements into well-organized deliverables. These deliverables include user stories, prioritization, and UML sequence diagrams, along with the modular approach to APIs, unit tests, and end-to-end tests. Additionally, the platform will organize tasks, perform security and compliance, and suggest design patterns and improvements for non-functional requirements. We allow users to control and manage each phase according to their preferences. In addition, the platform provides security and compliance checks following European standards and proposes design optimizations. We use multiple models, such as GPT-3.5, GPT-4, and Llama3 to enable to generation of modular code as per user choice. The research also highlights the limitations and future research discussions to overall improve the software development life cycle. The source code for our uniform platform is hosted on GitHub, enabling additional experimentation and supporting both research and practical uses. \end
Software Engineering
What problem does this paper attempt to address?
This paper aims to address the problems in multi-agent software development, particularly how to create a unified platform that utilizes artificial intelligence (AI) agents to automate the entire process of transforming user requirements into structured software artifacts. This platform will cover stages such as requirements engineering, software architecture, code generation, testing, as well as security and compliance checks. By employing large-scale language models such as GPT-3.5, GPT-4, and Llama3, the platform is capable of automatically generating user stories, priority ranking, Unified Modeling Language (UML) sequence diagrams, as well as modular APIs, unit tests, and end-to-end testing. Additionally, it can organize tasks, perform security and compliance checks, and propose design patterns and improvements for non-functional requirements. This research emphasizes the importance of integrating generative AI with human involvement into the software development lifecycle to enhance efficiency, compliance, and software quality. The paper also discusses the limitations of existing work and future research directions, providing the source code of the platform for further experimentation and usage.