Mining GitLab repositories for software development activities

Detalhes bibliográficos
Autor(a) principal: Amores, Diogo Alexandre Santos
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10316/97983
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_8c92d79a7579c5b60ff1fd87d9e638c3
oai_identifier_str oai:estudogeral.uc.pt:10316/97983
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Mining GitLab repositories for software development activitiesMining GitLab repositories for software development activitiesBusiness ManagementMining Software RepositoriesProcess ManagementEvent LogsSoftware DevelopmentDesenvolvimento de SoftwareLogs de EventoBusiness ManagementProcess ManagementMining Software RepositoriesDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaCom 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.Universidade de Coimbra - Bolsa de Iniciação à Investigação no âmbito do projeto CISUC-SSE 7175322021-11-10info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/97983http://hdl.handle.net/10316/97983TID:202921140engAmores, Diogo Alexandre Santosinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2022-05-25T03:32:22Zoai:estudogeral.uc.pt:10316/97983Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:15:55.364842Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Mining GitLab repositories for software development activities
Mining GitLab repositories for software development activities
title Mining GitLab repositories for software development activities
spellingShingle Mining GitLab repositories for software development activities
Amores, Diogo Alexandre Santos
Business Management
Mining Software Repositories
Process Management
Event Logs
Software Development
Desenvolvimento de Software
Logs de Evento
Business Management
Process Management
Mining Software Repositories
title_short Mining GitLab repositories for software development activities
title_full Mining GitLab repositories for software development activities
title_fullStr Mining GitLab repositories for software development activities
title_full_unstemmed Mining GitLab repositories for software development activities
title_sort Mining GitLab repositories for software development activities
author Amores, Diogo Alexandre Santos
author_facet Amores, Diogo Alexandre Santos
author_role author
dc.contributor.author.fl_str_mv Amores, Diogo Alexandre Santos
dc.subject.por.fl_str_mv Business Management
Mining Software Repositories
Process Management
Event Logs
Software Development
Desenvolvimento de Software
Logs de Evento
Business Management
Process Management
Mining Software Repositories
topic Business Management
Mining Software Repositories
Process Management
Event Logs
Software Development
Desenvolvimento de Software
Logs de Evento
Business Management
Process Management
Mining Software Repositories
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2021
dc.date.none.fl_str_mv 2021-11-10
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10316/97983
http://hdl.handle.net/10316/97983
TID:202921140
url http://hdl.handle.net/10316/97983
identifier_str_mv TID:202921140
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134055449493504