Related Experiment Video
Updated: Jul 15, 2026

06:33
Decomposing the Variance in Reading Comprehension to Reveal the Unique and Common Effects of Language and Decoding
Published on: October 11, 2018
7.0K
The effects of change decomposition on code review-a controlled experiment.
Marco di Biase1,2, Magiel Bruntink2, Arie van Deursen1
1Delft University of Technology, Delft, The Netherlands.
Peerj. Computer Science
|April 5, 2021
Summary
Decomposing large code changes into smaller, coherent ones reduces wrongly reported issues and improves the code review process for developers. This practice enhances efficiency by minimizing noise and supporting reviewers in their tasks.
Area of Science:
- Software Engineering
- Human-Computer Interaction
- Empirical Software Engineering
Background:
- Code review is a critical yet cognitively demanding software development process.
- Prior research suggested that decomposing large change sets could improve code review efficiency.
- Quantitative evidence supporting this hypothesis was previously lacking.
Purpose of the Study:
- To quantitatively assess the impact of change decomposition on code review outcomes, including defect detection, issue reporting accuracy, and reviewer understanding.
- To qualitatively explore how developers approach code reviews for both large and decomposed changes.
- To analyze the influence of change decomposition on reviewer behavior and knowledge acquisition.
Main Methods:
- A controlled experiment was conducted with 28 software developers (professionals and graduate students).
- The study utilized a pull-based development model to simulate real-world code review scenarios.
- Participants reviewed both large and decomposed code changes to compare outcomes.
Main Results:
- Change decomposition resulted in a significant reduction in wrongly reported issues.
- Reviewers exhibited increased context-seeking behavior when reviewing decomposed changes.
- No significant impact was observed on the number of defects found or the understanding of change rationale.
Conclusions:
- Decomposing code changes into smaller, conceptually coherent units is a beneficial software engineering practice.
- This approach reduces noise and supports developers in performing effective code reviews.
- Separating commits by concept is recommended to enhance code review quality and efficiency.
More Related Videos
Related Concept Videos
The Scientific Method
The scientific method is a detailed, empirical problem-solving process used by biologists and other scientists. This iterative approach involves formulating a question based on observation, developing a testable potential explanation for the observation (called a hypothesis), making and testing predictions based on the hypothesis, and using the findings to create new hypotheses and predictions.Generally, predictions are tested using carefully-designed experiments. Based on the outcome of these...
Group Design
The most basic experimental design involves two groups: the experimental group and the control group. The two groups are designed to be the same except for one difference— experimental manipulation. The experimental group gets the experimental manipulation—that is, the treatment or variable being tested—and the control group does not. Since experimental manipulation is the only difference between the experimental and control groups, we can be sure that any differences between the two are due to...
What is an Experiment?
An experiment is a planned activity carried out under controlled conditions. The purpose of an experiment is to investigate the relationship between two variables. When one variable causes change in another, we call the first variable the explanatory or independent variable. The affected variable is called the response or dependent variable. In a randomized experiment, the researcher manipulates values of the explanatory variable and measures the resulting changes in the response variable. The...
Controls in Experiments
When conducting an experiment, it is crucial to have control to reduce bias and accurately measure the dependent variables. It also marks the results more reliable. Controls are elements in an experiment that have the same characteristics as the treatment groups but are not affected by the independent variable. By sorting these data into control and experimental conditions, the relationship between the dependent and independent variables can be drawn. A randomized experiment always includes a...
Randomized Experiments
The randomization process involves assigning study participants randomly to experimental or control groups based on their probability of being equally assigned. Randomization is meant to eliminate selection bias and balance known and unknown confounding factors so that the control group is similar to the treatment group as much as possible. A computer program and a random number generator can be used to assign participants to groups in a way that minimizes bias.
Simple randomization
Simple...
Simple randomization
Simple...
Experimental Designs
An experimental design is a systematic process that allows researchers to evaluate the relationship between dependent and independent variables. There are three widely used types of experimental design - pre-experimental design, true experimental design, and quasi-experimental design. In pre-experimental design, the researcher compares the data before and after some interventions or treatments. The true-experimental design has more than one purposefully created group, a commonly measured...

