• DocumentCode
    175556
  • Title

    On Automatically Generating Commit Messages via Summarization of Source Code Changes

  • Author

    Cortes-Coy, Luis Fernando ; Linares-Vasquez, Mario ; Aponte, Jairo ; Poshyvanyk, Denys

  • Author_Institution
    Univ. Nac. de Colombia, Bogota, Colombia
  • fYear
    2014
  • fDate
    28-29 Sept. 2014
  • Firstpage
    275
  • Lastpage
    284
  • Abstract
    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 (i.e., 15-20 words). However, accurate and complete commit messages summarizing software changes are important to support a number of development and maintenance tasks. In this paper we present an approach, coined as Change Scribe, which is designed to generate commit messages automatically from change sets. Change Scribe 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. We evaluated Change Scribe in a 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 Change Scribe are preferred in about 62% of the cases for large commits, and about 54% for small commits.
  • Keywords
    configuration management; public domain software; software maintenance; source code (software); ChangeScribe; Java projects; automatic natural language commit message generation; change sets; change type; commit message summarizing software changes; commit stereotype; descriptive messages; file rename; open source systems; property file changes; software development task; software maintenance task; source code change summarization; version control systems; Abstracts; Context; Java; Natural languages; Production facilities; Software; Visualization; code changes; commit message; summarization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on
  • Conference_Location
    Victoria, BC
  • Type

    conf

  • DOI
    10.1109/SCAM.2014.14
  • Filename
    6975661