Experimenting with Multi-Agent Software Development: Towards a Unified Platform
<|reference_start|>Experimenting with Multi-Agent Software Development: Towards a Unified Platform: 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<|reference_end|>
@article{sami2024experimenting,
    title={Experimenting with Multi-Agent Software Development: Towards a Unified
  Platform},
    author={Malik Abdul Sami, Muhammad Waseem, Zeeshan Rasheed, Mika Saari, Kari
  Syst"a and Pekka Abrahamsson},
    journal={arXiv preprint arXiv:2406.05381},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.05381},
    primaryClass={cs.SE}
}