Skip to content

AgileGen: Empowering Agile-Based Generative Software Development through Human-AI Teamwork (accepted by ACM TOSEM)

License

Notifications You must be signed in to change notification settings

UGAIForge/AgileGen

Repository files navigation

AgileGen: Empowering Agile-Based Generative Software Development through Human-AI Teamwork

Overview 📄

框架图_01

The interaction and collaboration design of AgileGen is divided into two parts.

(1) End-user Decision-Making is used to collaborate with end-users to collect and clarify end-user decisions.

(2) AgileGen Agent responds to user decisions by transforming and analyzing them, aiming to guide LLMs in generating software code consistent with user requirements. Scenarios Design and Rapid Prototype Design are two core components of the AgileGen.

  • The Scenarios Design component is primarily used to design different scenarios represented in Gherkin language based on decision-making requirements, submit them to end-users for scenario decisions, and return the decided Gherkin scenarios.
  • The Rapid Prototype Design component is responsible for generating software application code based on the decided Gherkin scenarios. It then presents the software application to users for acceptance, receives user feedback and suggestions, and makes necessary modifications to the code.

What Can AgileGen (Sapper4SE) Do?

example

Sapper4SE-20230924_20240313_10124232.mp4

👨‍💻‍Human-AI collaboration process:

inter_case_1

✈️Quick start

  1. Configure your OpenAI key and VPN in utils/CodeGeneration.py
  2. python ./main.py
  3. Running on local URL: http://127.0.0.1:0000 (your VPN)

Example input:

Project Name Description Features
NewsMeter Evaluate the credibility of news articles by analyzing multiple factors and generating trustworthiness scores with explanations and evidence.
VideoClipper VideoClipper is a software application that allows users to easily clip and trim videos. It provides an intuitive interface to select specific sections of the video, and saves the trimmed video as a new file.
SportArena Develop a user-friendly software application that allows users to create and customize virtual sports arenas.
SoundBoard I'd like to have a website that displays cards with words on them and plays sounds when clicked.

Step

🔎Citation

@article{zhang2024empowering,
  title={Empowering Agile-Based Generative Software Development through Human-AI Teamwork},
  author={Zhang, Sai and Xing, Zhenchang and Guo, Ronghui and Xu, Fangzhou and Chen, Lei and Zhang, Zhaoyuan and Zhang, Xiaowang and Feng, Zhiyong and Zhuang, Zhiqiang},
  journal={arXiv preprint arXiv:2407.15568},
  year={2024}
}

About

AgileGen: Empowering Agile-Based Generative Software Development through Human-AI Teamwork (accepted by ACM TOSEM)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published