Propostas com alunos

DEI - FCTUC
Gerado a 2024-11-21 15:16:06 (Europe/Lisbon).
Voltar

Titulo Estágio

Mining Software Project Repositories

Áreas de especialidade

Engenharia de Software

Sistemas de Informação

Local do Estágio

DEI-FCTUC

Enquadramento

Process Mining is a set of techniques and methodologies which focus on discovering, monitoring and improving processes by analyzing event logs from computer systems. This log data feeds into process mining algorithms to allow an objective overview of the processes at work and allows the identification of trends, patterns and details within these processes in order to increase efficiency.

Process mining techniques can be applied to software development by extracting the logs from the information systems used to manage a software project potentially allowing insight on the workflows used by teams. This information can prove extremely useful in order to improve the effectiveness of teams, discover bottlenecks in workflows and identify timely solutions in order to improve the quality of the produced software. It can also provide insight on the development practices of individual team members.

Objetivo

The primary goal of this master thesis is to apply process mining to software development activities by using event log data generated inside a software project repository.

To achieve this goal, an application that uses the Gitlab API as the source to extract event logs from software development projects will be developed. The aim of this work is to apply process mining techniques to this data in order to reverse engineer the processes used by the developers and draw conclusions about the team's processes, adopted workflows, team structure and performance.

Plano de Trabalhos - Semestre 1

The first semester is devoted to get awareness on the core concepts addressed by the thesis:
- Process Mining, namely the Pm4Py library.
- GitLab services and the gitlab API
- Translation of API events into semantically-meaningful software development activities.
- Selection of the technology for the dashboard interface.
- Definition of the main requirements and software architecture.


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 analyze selected open repositories, as well as performing incremental improvement of the analysis tool in face of the observations performed.

This is an iterative exploratory activity and therefore it cannot be explicitly 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 supervisor, 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.

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 work can be made directly to the supervisor at mzrela@dei.uc.pt.

Orientador

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