Why are commits being reverted? A comparative study of industrial and open source projects

Junji Shimagaki, Yasutaka Kamei, Shane McIntosh, David Pursehouse, Naoyasu Ubayashi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Software development is a cyclic process of integrating new features while introducing and fixing defects. During development, commits that modify source code files are uploaded to version control systems. Occasionally, these commits need to be reverted, i.e., the code changes need to be completely backed out of the software project. While one can often speculate about the purpose of reverted commits (e.g., the commit may have caused integration or build problems), little empirical evidence exists to substantiate such claims. The goal of this paper is to better understand why commits are reverted in large software systems. To that end, we quantitatively and qualitatively study two proprietary and four open source projects to measure: (1) the proportion of commits that are reverted, (2) the amount of time that commits that are eventually reverted linger within a codebase, and (3) the most frequent reasons why commits are reverted. Our results show that 1%-5% of the commits in the studied systems are reverted. Those commits that are eventually reverted linger within the studied codebases for 1-35 days (median). Furthermore, we identify 13 common reasons for reverting commits, and observe that the frequency of reverted commits of each reason varies broadly from project to project. A complementary qualitative analysis suggests that many reverted commits could have been avoided with better team communication and change awareness. Our findings made Sony Mobile's stakeholders aware that internally reverted commits can be reduced by paying more attention to their own changes. On the other hand, externally reverted commits could be minimized only if external stakeholders are involved to improve inter-company communication or requirements elicitation.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages301-311
Number of pages11
ISBN (Electronic)9781509038060
DOIs
Publication statusPublished - Jan 12 2017
Event32nd IEEE International Conference on Software Maintenance and Evolution, ICSME 2016 - Raleigh, United States
Duration: Oct 2 2016Oct 10 2016

Publication series

NameProceedings - 2016 IEEE International Conference on Software Maintenance and Evolution, ICSME 2016

Other

Other32nd IEEE International Conference on Software Maintenance and Evolution, ICSME 2016
Country/TerritoryUnited States
CityRaleigh
Period10/2/1610/10/16

All Science Journal Classification (ASJC) codes

  • Safety, Risk, Reliability and Quality
  • Software

Fingerprint

Dive into the research topics of 'Why are commits being reverted? A comparative study of industrial and open source projects'. Together they form a unique fingerprint.

Cite this