Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Qualitatively Analyzing PR Rejection Reasons from Conversations in Open-Source Projects

Qualitatively Analyzing PR Rejection Reasons from Conversations in Open-Source Projects

Software developers have largely relied on pull requests as a mechanism of collaboration in their projects. Researchers have collected and analyzed pull request data in different ways for different reasons. In particular, we have qualitatively analyzed pull request conversation data to understand the main reasons for pull request rejection from a developer’s perspective. In this paper, we report results from ongoing research on identifying and categorizing pull request rejection factors. Two software developers, co-authors of this paper, manually analyzed 605 rejected PRs from Hexo and ESLint. We found that the most frequent reasons for PR rejection may vary depending on the project size and popularity. Still, some common rejection factors include implementing unnecessary functionality, conflicting PRs, agreement to make PR reattempts, and inactivity. Code quality issues are not among the most frequent reasons.

Bruno C. da Silva

May 21, 2021
Tweet

More Decks by Bruno C. da Silva

Other Decks in Research

Transcript

  1. Qualitatively Analyzing PR Rejection Reasons from Conversations in Open-Source Projects

    Tanay Gottigundala, Siriwan Sereesathien, Bruno da Silva [email protected] CHASE Conference, May 2021
  2. We focus on all types of PR authors Rejected PRs

    only Qualitative investigation
  3. We manually analyzed 605 rejected PRs RQ1: most frequent reasons

    why PRs are rejected RQ2: PR rejection reasons on projects in sizes and popularity RQ3: Are code quality issues among the most frequent reasons for rejection?
  4. RQ1: most frequent reasons why PRs are rejected PR Reattempt

    Closed due to inactivity Unnecessary functionality
  5. RQ1: most frequent reasons why PRs are rejected PR Reattempt

    Closed due to inactivity Unnecessary functionality Lack of team consensus
  6. RQ1: most frequent reasons why PRs are rejected PR Reattempt

    Closed due to inactivity Unnecessary functionality Lack of team consensus Unnecessary functionality
  7. RQ1: most frequent reasons why PRs are rejected PR Reattempt

    Closed due to inactivity Unnecessary functionality Lack of team consensus Unnecessary functionality PR Con fl icts
  8. RQ2: PR rejection reasons on projects in sizes and popularity

    Most of the differences in PR rejection reasons stem from distinct project size, popularity, and consequent level oforganization and strictness for managing PRs
  9. RQ2: PR rejection reasons on projects in sizes and popularity

    Most of the differences in PR rejection reasons stem from distinct project size, popularity, and consequent level oforganization and strictness for managing PRs The only common reason among their top fi ve reasons was “Unnecessary functionality”
  10. Qualitatively Analyzing PR Rejection Reasons from Conversations in Open-Source Projects

    Tanay Gottigundala, Siriwan Sereesathien, Bruno da Silva [email protected] CHASE Conference, May 2021