Pull Request Decomposition

Because reviewing pull requests is hard.

Pull requests can have long and complicated changes, tangling multiple concepts together. However, standard pull request review interfaces often show these changes as a series of diff hunks, shown according to the alphabetical ordering of files that contain the changes. Can this really be the most effective way to present information critical to performing good code reviews? We are investigating decomposing tangled change sets in pull requests to support good code reviews.

I collaborated with Thomas Schweizer on this project.

An example of the display that GitHub shows for viewing source files during a code review. The top set of changes are a bug fix whereas the bottom set of changes are a feature addition. Perhaps decomposing the pull request to separate these two sets of changes would make reviewing the code easier.