Prototype of a tool for automatic generation of commit messages for Java applications

Although version control systems allow developers to describe and explain the rationale behind code changes in commit messages, the state of practice indicates that most of the time such commit messages are either very short or even empty. In fact, in a recent study of 23K+ Java projects it has been...

Full description

Autores:
Cortés Coy, Luis Fernando
Tipo de recurso:
Fecha de publicación:
2014
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/52452
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/52452
http://bdigital.unal.edu.co/46795/
Palabra clave:
0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Commit message
Software summarization
Code changes
Mensaje de commit
Cambios al codigo fuente
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
id UNACIONAL2_cd96ef3ba5fe51613e3f0cacfe3b38ff
oai_identifier_str oai:repositorio.unal.edu.co:unal/52452
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Prototype of a tool for automatic generation of commit messages for Java applications
title Prototype of a tool for automatic generation of commit messages for Java applications
spellingShingle Prototype of a tool for automatic generation of commit messages for Java applications
0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Commit message
Software summarization
Code changes
Mensaje de commit
Cambios al codigo fuente
title_short Prototype of a tool for automatic generation of commit messages for Java applications
title_full Prototype of a tool for automatic generation of commit messages for Java applications
title_fullStr Prototype of a tool for automatic generation of commit messages for Java applications
title_full_unstemmed Prototype of a tool for automatic generation of commit messages for Java applications
title_sort Prototype of a tool for automatic generation of commit messages for Java applications
dc.creator.fl_str_mv Cortés Coy, Luis Fernando
dc.contributor.advisor.spa.fl_str_mv Linares Vásquez, Mario (Thesis advisor)
dc.contributor.author.spa.fl_str_mv Cortés Coy, Luis Fernando
dc.contributor.spa.fl_str_mv Aponte, Jairo
dc.subject.ddc.spa.fl_str_mv 0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
topic 0 Generalidades / Computer science, information and general works
62 Ingeniería y operaciones afines / Engineering
Commit message
Software summarization
Code changes
Mensaje de commit
Cambios al codigo fuente
dc.subject.proposal.spa.fl_str_mv Commit message
Software summarization
Code changes
Mensaje de commit
Cambios al codigo fuente
description Although version control systems allow developers to describe and explain the rationale behind code changes in commit messages, the state of practice indicates that most of the time such commit messages are either very short or even empty. In fact, in a recent study of 23K+ Java projects it has been found that only 10% of the messages are descriptive and over 66% of those messages contained fewer words as compared to a typical English sentence. However, accurate and complete commit messages summarizing software changes are important to support a number of development and maintenance tasks. This thesis presents an approach, coined as ChangeScribe, which is designed to generate commit messages automatically from change sets. ChangeScribe generates natural language commit messages by taking into account commit stereotype, the type of changes (e.g., files rename, changes done only to property files), as well as the impact set of the underlying changes. This work presents the evaluation of ChangeScribe in an evaluative survey involving 23 developers in which the participants analyzed automatically generated commit messages from real changes and compared them with commit messages written by the original developers of six open source systems. The results demonstrate that automatically generated messages by ChangeScribe are preferred in about 62% of the cases for large commits, and about 54% for small commits
publishDate 2014
dc.date.issued.spa.fl_str_mv 2014
dc.date.accessioned.spa.fl_str_mv 2019-06-29T14:25:02Z
dc.date.available.spa.fl_str_mv 2019-06-29T14:25:02Z
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/52452
dc.identifier.eprints.spa.fl_str_mv http://bdigital.unal.edu.co/46795/
url https://repositorio.unal.edu.co/handle/unal/52452
http://bdigital.unal.edu.co/46795/
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.ispartof.spa.fl_str_mv Universidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería de Sistemas e Industrial
Departamento de Ingeniería de Sistemas e Industrial
dc.relation.references.spa.fl_str_mv Cortés Coy, Luis Fernando (2014) Prototype of a tool for automatic generation of commit messages for Java applications. Maestría thesis, Universidad Nacional de Colombia.
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Nacional de Colombia
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
Derechos reservados - Universidad Nacional de Colombia
http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/52452/1/300398.2014.pdf
https://repositorio.unal.edu.co/bitstream/unal/52452/2/300398.2014.pdf.jpg
bitstream.checksum.fl_str_mv 0f33d6c80929373e3ffbcbbd97b8106f
dd3bb78e6a4d17fbd198b0d98c438ec4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1806886180545888256
spelling Atribución-NoComercial 4.0 InternacionalDerechos reservados - Universidad Nacional de Colombiahttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Aponte, JairoLinares Vásquez, Mario (Thesis advisor)4920b1da-82f7-4f2d-91ee-665b377f6bea-1Cortés Coy, Luis Fernando93b36327-e290-45f2-b278-874867af9ab33002019-06-29T14:25:02Z2019-06-29T14:25:02Z2014https://repositorio.unal.edu.co/handle/unal/52452http://bdigital.unal.edu.co/46795/Although version control systems allow developers to describe and explain the rationale behind code changes in commit messages, the state of practice indicates that most of the time such commit messages are either very short or even empty. In fact, in a recent study of 23K+ Java projects it has been found that only 10% of the messages are descriptive and over 66% of those messages contained fewer words as compared to a typical English sentence. However, accurate and complete commit messages summarizing software changes are important to support a number of development and maintenance tasks. This thesis presents an approach, coined as ChangeScribe, which is designed to generate commit messages automatically from change sets. ChangeScribe generates natural language commit messages by taking into account commit stereotype, the type of changes (e.g., files rename, changes done only to property files), as well as the impact set of the underlying changes. This work presents the evaluation of ChangeScribe in an evaluative survey involving 23 developers in which the participants analyzed automatically generated commit messages from real changes and compared them with commit messages written by the original developers of six open source systems. The results demonstrate that automatically generated messages by ChangeScribe are preferred in about 62% of the cases for large commits, and about 54% for small commitsResumen. Aunque los sistemas de control de versiones le permiten a los desarrolladores de software describir y explicar las razones por la cuales modificaron el código fuente utilizando un mensaje en el commit, en la práctica estos mensajes son muy cortos o incluso vacíos. De hecho, en recientes estudios de 23K+ de proyectos Java se ha encontrado que el 10% de los mensajes son descriptivos y alrededor del 66% de estos contienen pocas palabras comparado con el tamaño promedio de una oración escrita en el idioma inglés. Sin embargo, resumir los cambios en el software de una manera precisa y completa es muy importante para apoyar las tareas que se realizan en el desarrollo y mantenimiento de un software. Este trabajo presenta ChangeScribe un prototipo para generar mensajes de commit usando lenguaje natural y teniendo en cuenta el estereotipo del commit, el tipo de cambio (rename de un archivo, cambios a archivos de propiedades, etc ), y también el conjunto de impacto de los cambios realizados. De otro lado, presenta la evaluación de ChangeScribe en un estudio de usuarios que involucró 23 desarrolladores de software que analizaron los mensajes de commit generados automáticamente por ChangeScribe y los mensajes de commit escritos por los desarrolladores originales de seis sistemas open source. Los resultados demuestran que los mensajes generados de forma automática por ChangeScribe son preferidos en cerca del 62% de los casos en commits largos, y en cerca de 54% de los casos en commits cortos (pocas modificaciones).Maestríaapplication/pdfspaUniversidad Nacional de Colombia Sede Bogotá Facultad de Ingeniería Departamento de Ingeniería de Sistemas e IndustrialDepartamento de Ingeniería de Sistemas e IndustrialCortés Coy, Luis Fernando (2014) Prototype of a tool for automatic generation of commit messages for Java applications. Maestría thesis, Universidad Nacional de Colombia.0 Generalidades / Computer science, information and general works62 Ingeniería y operaciones afines / EngineeringCommit messageSoftware summarizationCode changesMensaje de commitCambios al codigo fuentePrototype of a tool for automatic generation of commit messages for Java applicationsTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMORIGINAL300398.2014.pdfapplication/pdf1494150https://repositorio.unal.edu.co/bitstream/unal/52452/1/300398.2014.pdf0f33d6c80929373e3ffbcbbd97b8106fMD51THUMBNAIL300398.2014.pdf.jpg300398.2014.pdf.jpgGenerated Thumbnailimage/jpeg4368https://repositorio.unal.edu.co/bitstream/unal/52452/2/300398.2014.pdf.jpgdd3bb78e6a4d17fbd198b0d98c438ec4MD52unal/52452oai:repositorio.unal.edu.co:unal/524522024-03-02 23:08:12.03Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.co