Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/97983
Title: Mining GitLab repositories for software development activities
Other Titles: Mining GitLab repositories for software development activities
Authors: Amores, Diogo Alexandre Santos
Orientador: Rela, Mário Alberto da Costa Zenha
Keywords: Business Management; Mining Software Repositories; Process Management; Event Logs; Software Development; Desenvolvimento de Software; Logs de Evento; Business Management; Process Management; Mining Software Repositories
Issue Date: 10-Nov-2021
Serial title, monograph or event: Mining GitLab repositories for software development activities
Place of publication or event: DEI- FCTUC
Abstract: Com a crescente complexidade da sociedade moderna, as organizações tornam-se cada vez mais conscientes das melhorias potenciadas por Process Management para melhor fluxos de trabalho e otimizar recursos. Mining Software Repositories, inicialmente um tópico de pesquisa obscuro, cresceu para fornecer contribuições inestimáveis no campo de process management. Estas contribuições foram possibilitadas pelo aumento no uso de repositórios de software, dados de evento disponíveis e projetos open-source.Em particular, repositórios de software como GitLab e GitHub contêm uma quantidade vasta de dados que são considerados de particular interesse para cientistas neste campo. Mining Software Repositories visa alterar a função puramente de armazenação destes repositórios para ferramentas que possam ajudar a moldar e melhorar o processo de desenvolvimento de software. Os dados que estes repositórios contêm fornecem informação sobre os diferentes estados de um projeto durante o desenvolvimento, como o histórico de alterações feitas em cada ficheiro bem como os autores responsáveis. Devido a isto, estes repositórios apresentam um excelente ponto de partida para a análise de projetos e fornecem uma oportunidade para melhor entender como um projeto está a ser conduzido, se as metodologias estabelecidas, planos e distribuição de trabalho são comparáveis à execução prevista.O objetivo principal da presente tese é explorar estes repositórios de software de modo a extrair informação que pode ser útil para monitorizar projetos de software. Este tipo de informação pode ser extremamente valiosa de modo a melhorar a eficácia de equipas de desenvolvimento e identificar eventuais problemas com a devida antecedência, a fim de melhorar a qualidade do software produzido. Estes dados podem também fornecer informações relativas às práticas de desenvolvimento de membros individuais de uma equipa.Para atingir este objetivo, uma ferramente que usa repositórios git (como GitHub e GitLab) como fonte principal para extrair logs de evento foi desenvolvida pelo autor. O objetivo desta ferramenta é extrair estes dados e estabelecer um método para categorizar os diferentes conteúdos do repositório em atividades de desenvolvimento de software (como Code ou Test). Após esta categorização, vários aspetos dos logs serão analisados e exibidos ao usuário através de uma interface visual simples e acessível.
With the growing complexity of modern societies, organizations become increasingly conscious of the improvements made possible by Process Management to improve workflows and optimize resources. Mining Software Repositories, initially an obscure research topic, has grown to provide invaluable contributions to the field of process management, made only possible by the exponential increase in the usage of software repositories, available event data, and open-source projects.In particular, software repositories such as GitLab and GitHub contain vast data that is considered of particular interest to researchers in this field. Mining Software Repositories aims to shift these repositories from purely storage spaces to actual tools that help in shaping and improving the development process. The data these repositories contain provide information about the different states of the project during development such as the history of every change made to every file and the responsible contributors. Due to this, these repositories present an excellent starting point for project analysis and provide an opportunity to better understand how a project is being conducted, if established methodologies, schedules, and if work distribution is comparable to the envisioned execution.The primary goal of this thesis is to mine these software repositories and extract information that can be useful for monitoring software projects. This information can prove extremely valuable in order to improve the effectiveness of teams and identify issues early in order to improve the quality of the produced software. It can also provide insight into the development practices of individual team members.To achieve this goal, a tool that uses git-based repositories (such as GitHub and GitLab) as the main source to extract event logs was designed and built by the author. The aim of this tool is to extract this data and establish a method to categorize the different contents of these repositories into software development activities (such as Code or Test). After this categorization, multiple aspects of the log will be analyzed and displayed to the user via a user-friendly visual interface.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: http://hdl.handle.net/10316/97983
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
Mining_GitLab_repositories_for_software_development_activities.pdf9.52 MBAdobe PDFView/Open
Show full item record

Page view(s)

16
checked on Aug 12, 2022

Download(s)

26
checked on Aug 12, 2022

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons