Home - FEUP-MEIC-DS-2024-25/ai4sd GitHub Wiki
Welcome to the AI4SD wiki!
...
AI, namely GenAI, is changing the way we do many activities, being software development one of them, an important one for our profession.
We aim to explore the current state of AI to effectively and surely assist software developers on performing typical activities of the software development lifecycle (SDLC), from requirements to delivery.
Vision
AI4SD is an integrated set of minimal AI assistants and tools that may help developers along the SDLC, to make software development better and faster.
State of the art
We will start by researching existing and proven AI tools and approaches that might be suitable to be incorporated into a coherent set of tools.
One team, one assistant (so far...)
Each team will focus ideally on one single assistant or tool to develop and integrate in the whole ecosystem of assistants.
All teams will collaborate to co-architect, design, build, deploy and operate the overall system.
- AI for Requirements Engineering. Supervised by Daniel Pinho. Classes 1MEIC03 and 1MEIC04.
- AI for Architecture and Design. Supervised by Carlos Duarte. Classes 1MEIC02 and 1MEIC06.
- AI for Coding and Refactoring, or something else related. Supervised by Ademar Aguiar. Classes 1MEIC05 and 1MEIC08.
- AI for Verification & Validation. Supervised by Mateus Silva. Classes 1MEIC01 and 1MEIC07.
Since software development is a very broad topic, we will focus on supporting Agile Software Development (from user stories to acceptance tests and continuous delivery), eventually for a specific kind of applications and using a custom technological stack, still to be defined.
AI4SD Architecture
All teams will collaborate to architect, design, build, deploy and operate the overall system.
The overall system architecture follows a Retrieval Augmented Generation (RAG) style. The chosen technological stack is from Google Cloud Platform. Details about the AI4SD technological architecture are documented under the name of The Hero Alliance, here.
Details about running the frontend locally are documented here.
Development Process
The development process is based on Scrum and LeSS Huge, fine-tuned for the context of the Large Scale Development course of MEIC at FEUP.
Details about the process can be found here.
Development Practices
The complete list of best development practices enforced can be found here.
Development Conventions
Hera are conventions defined for all teams follow together.