A proposal of automatic quality for Git commit messages

Carpio Salvatierra, Harry Alberto (2019). A proposal of automatic quality for Git commit messages. Thesis (Master thesis), E.T.S. de Ingenieros Informáticos (UPM).

Description

Title: A proposal of automatic quality for Git commit messages
Author/s:
  • Carpio Salvatierra, Harry Alberto
Contributor/s:
  • Vegas Hernández, Sira
  • Gorla, Alessandra
Item Type: Thesis (Master thesis)
Masters title: Software y Sistemas
Date: 2019
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Este trabajo se ha realizado con la intención de proponer una herramienta que permita validar la calidad de los mensajes de commit de Git antes de que estos sean persistidos y de esta forma procurar que el registro histórico del repositorio contenga información que le permita a cualquier revisor o mantenedor del código fuente entender de forma simple y consistente lo que se ha hecho en cada commit. El creciente uso de GitHub como la plataforma más usada para desarrollo colaborativo ha despertado el interés de investigadores debo a la riqueza de los datos que contiene. GitHub hospeda una gran cantidad de repositorios de código fuente de software Open Source (F/LOSS), el análisis de estos proyectos permite entender cómo el desarrollo de software se comporta en base a múltiples características, es por esto que para la validación de la herramienta de validación propuesta se han analizado los 10 repositorios más destacados que usan como primer lenguaje de programación Python y que han sido desarrollados bajo la licencia Apache 2.0. Los parámetros de calidad propuestos se basan en reglas de formato de texto y sintácticas, las mismas se han aplicado a los mensajes de commit de los proyectos estudiados usando SpaCy para el procesamiento de lenguaje natural y se han obtenido resultados sobre su cumplimiento. Finalmente se ha intentado establecer un modelo lineal para explicar cómo el tiempo desde un commit a otro es influenciado por las reglas propuestas pero dicho modelo no ha sido lo suficientemente bueno y debe ser mejorado.---ABSTRACT---This work has been carried out with the intention of proposing a tool that allows to validate the quality of Git commit messages before they are persisted and in this way to ensure that the historical record of the repository contains information that helps any reviewer or source code maintainer understand in a simple and consistent way what has been done in each commit. The increasing use of GitHub as the most used platform for collaborative development has aroused the interest of researchers due to the wealth of data that contains. GitHub hosts a large number of repositories of Open Source Software (F/LOSS), the analysis of these projects allows us to understand how software development behaves based on multiple characteristics, that is why for the validation of the proposed tool, it has analyzed the 10 most starred repositories that use Python as the first programming language and that have been developed under the Apache 2.0 license. The proposed quality parameters are based on text format and syntactic rules, they have been applied to the commit messages of the studied projects using Spacy for natural language processing, and the results about their compliance have been obtained. Finally, an attempt has been made to establish a linear model to explain how the time form one commit to another is influenced by the proposed rules, but that model has not been good enough and should be improved.

More information

Item ID: 55919
DC Identifier: http://oa.upm.es/55919/
OAI Identifier: oai:oa.upm.es:55919
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 06 Aug 2019 05:18
Last Modified: 06 Aug 2019 05:18
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM