Why is my code change abandoned?

Qingye Wang, Xin Xia, David Lo, Shanping Li

Research output: Contribution to journalArticleResearchpeer-review

1 Citation (Scopus)

Abstract

Context: Software developers contribute numerous changes every day to the code review systems. However, not all submitted changes are merged into a codebase because they might not pass the code review process. Some changes would be abandoned or be asked for resubmission after improvement, which results in more workload for developers and reviewers, and more delays to deliverables. Objective: To understand the underlying reasons why changes are abandoned, we conduct an empirical study on the code review of four open source projects (Eclipse, LibreOffice, OpenStack, and Qt). Method: First, we manually analyzed 1459 abandoned changes. Second, we leveraged the open card sorting method to label these changes with reasons why they were abandoned, and we identified 12 categories of reasons. Next, we further investigated the frequency distribution of the categories across projects. Finally, we studied the relationship between the categories and time-to-abandonment. Results: Our findings include the following: (1) Duplicate changes are the majority of the abandoned changes; (2) the frequency distribution of abandoned changes across the 12 categories is similar for the four open source projects; (3) 98.39% of the changes are abandoned within a year. Conclusion: Our study concluded the root causes of abandoned changes, which will help developers submit high-quality code changes.

Original languageEnglish
Pages (from-to)108-120
Number of pages13
JournalInformation and Software Technology
Volume110
DOIs
Publication statusPublished - Jun 2019

Keywords

  • Abandoned change
  • Code review
  • Empirical study

Cite this

Wang, Qingye ; Xia, Xin ; Lo, David ; Li, Shanping. / Why is my code change abandoned?. In: Information and Software Technology. 2019 ; Vol. 110. pp. 108-120.
@article{a0685ee34b9f447b85b89d960e190dd9,
title = "Why is my code change abandoned?",
abstract = "Context: Software developers contribute numerous changes every day to the code review systems. However, not all submitted changes are merged into a codebase because they might not pass the code review process. Some changes would be abandoned or be asked for resubmission after improvement, which results in more workload for developers and reviewers, and more delays to deliverables. Objective: To understand the underlying reasons why changes are abandoned, we conduct an empirical study on the code review of four open source projects (Eclipse, LibreOffice, OpenStack, and Qt). Method: First, we manually analyzed 1459 abandoned changes. Second, we leveraged the open card sorting method to label these changes with reasons why they were abandoned, and we identified 12 categories of reasons. Next, we further investigated the frequency distribution of the categories across projects. Finally, we studied the relationship between the categories and time-to-abandonment. Results: Our findings include the following: (1) Duplicate changes are the majority of the abandoned changes; (2) the frequency distribution of abandoned changes across the 12 categories is similar for the four open source projects; (3) 98.39{\%} of the changes are abandoned within a year. Conclusion: Our study concluded the root causes of abandoned changes, which will help developers submit high-quality code changes.",
keywords = "Abandoned change, Code review, Empirical study",
author = "Qingye Wang and Xin Xia and David Lo and Shanping Li",
year = "2019",
month = "6",
doi = "10.1016/j.infsof.2019.02.007",
language = "English",
volume = "110",
pages = "108--120",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

Why is my code change abandoned? / Wang, Qingye; Xia, Xin; Lo, David; Li, Shanping.

In: Information and Software Technology, Vol. 110, 06.2019, p. 108-120.

Research output: Contribution to journalArticleResearchpeer-review

TY - JOUR

T1 - Why is my code change abandoned?

AU - Wang, Qingye

AU - Xia, Xin

AU - Lo, David

AU - Li, Shanping

PY - 2019/6

Y1 - 2019/6

N2 - Context: Software developers contribute numerous changes every day to the code review systems. However, not all submitted changes are merged into a codebase because they might not pass the code review process. Some changes would be abandoned or be asked for resubmission after improvement, which results in more workload for developers and reviewers, and more delays to deliverables. Objective: To understand the underlying reasons why changes are abandoned, we conduct an empirical study on the code review of four open source projects (Eclipse, LibreOffice, OpenStack, and Qt). Method: First, we manually analyzed 1459 abandoned changes. Second, we leveraged the open card sorting method to label these changes with reasons why they were abandoned, and we identified 12 categories of reasons. Next, we further investigated the frequency distribution of the categories across projects. Finally, we studied the relationship between the categories and time-to-abandonment. Results: Our findings include the following: (1) Duplicate changes are the majority of the abandoned changes; (2) the frequency distribution of abandoned changes across the 12 categories is similar for the four open source projects; (3) 98.39% of the changes are abandoned within a year. Conclusion: Our study concluded the root causes of abandoned changes, which will help developers submit high-quality code changes.

AB - Context: Software developers contribute numerous changes every day to the code review systems. However, not all submitted changes are merged into a codebase because they might not pass the code review process. Some changes would be abandoned or be asked for resubmission after improvement, which results in more workload for developers and reviewers, and more delays to deliverables. Objective: To understand the underlying reasons why changes are abandoned, we conduct an empirical study on the code review of four open source projects (Eclipse, LibreOffice, OpenStack, and Qt). Method: First, we manually analyzed 1459 abandoned changes. Second, we leveraged the open card sorting method to label these changes with reasons why they were abandoned, and we identified 12 categories of reasons. Next, we further investigated the frequency distribution of the categories across projects. Finally, we studied the relationship between the categories and time-to-abandonment. Results: Our findings include the following: (1) Duplicate changes are the majority of the abandoned changes; (2) the frequency distribution of abandoned changes across the 12 categories is similar for the four open source projects; (3) 98.39% of the changes are abandoned within a year. Conclusion: Our study concluded the root causes of abandoned changes, which will help developers submit high-quality code changes.

KW - Abandoned change

KW - Code review

KW - Empirical study

UR - http://www.scopus.com/inward/record.url?scp=85062223200&partnerID=8YFLogxK

U2 - 10.1016/j.infsof.2019.02.007

DO - 10.1016/j.infsof.2019.02.007

M3 - Article

VL - 110

SP - 108

EP - 120

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -