Propostas com alunos

DEI - FCTUC
Gerado a 2024-04-27 19:58:38 (Europe/Lisbon).
Voltar

Titulo Estágio

Mining GitLab repositories for software development activities

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

Process mining is a novel family of techniques in the field of process management that support the analysis of processes based on digital event logs.

During process mining, specialized data mining algorithms are applied to event log data in order to identify trends, patterns and details contained in event logs recorded by an information system. Process mining aims to improve the efficiency and understanding of processes.

Objetivo

The goal of this thesis is to build a gitLab App that displays the workflow of the software development team using a gitLab repository.

This plug-in will apply process mining techniques to project data extracted from GitLab using the standard gitlab API in order to reverse engineer the processes used by developers and fully characterize the actual workflows adopted by the teams (their activities), team structure and performance. This insight has a huge potential to improve the effectiveness of the team and the quality of the software products developed. It might also provide insight on the best practices used by the top developers.

Plano de Trabalhos - Semestre 1

The first semester is devoted to gather information on the state-of-art of this topic, study the GitLab API and design the interfaces that will be required to apply the process mining techniques to specific project repositories. The project will use the open-source Process mining Python libraries (PM4Py) to perform the analysis of the data, so most of the effort will be devoted to understand the project repositories' APIs in order to integrate with the analysis tool, as well as to the characterization of the outputs, namely a intuitive graphical representation of the software development processes.

This know-how will form the core content for the Master Thesis intermediate report.

Plano de Trabalhos - Semestre 2

The core activity of the second semester will to build the gitLab plugin, to follow and monitor a specific project, study and analyse selected open repositories, as well as performing incremental improvement of the analysis tool in face of the observations performed.

This is an exploratory activity and therefore it cannot be fully defined beforehand.

A scientific paper is expected to be written with the major results observed, as well as the student's Master Thesis.

Condições

The student will be provided with close mentoring from the advisor, a machine, a working space in the SSE (Software and Systems Engineering) research group and access to the University resources, namely international scientific research libraries.

The work will be performed with data from an actual software development team that will de developing a project to be monitored by this tool. At the same time public gitLab repositories will be used for testing and validation.

This thesis might be able to use repositories from a few companies working in the global market (depending on a non-disclosure agreement), so the student might have the opportunity to get a rare insight on how software is really developed in an industrial setting.

Observações

Additional information concerning this Master thesis research can be made directly to the supervisor at mzrela@dei.uc.pt.

Orientador

Mário Alberto da Costa Zenha Rela
mzrela@dei.uc.pt 📩