The temporal side of pull request acceptance

Detta är en Master-uppsats från KTH/Skolan för elektroteknik och datavetenskap (EECS)

Sammanfattning: The contemporary way of contributing to open-source software is through online platforms. GitHub is the most widely used platform for this purpose. On GitHub, users can suggest improvements to projects by opening a pull request (PR), taking on the role of the submitter. The PR is then judged by a reviewer who can ask for adjustments before the PR is closed and thus merged into the project or rejected. Several tools have been created that recommend PRs for reviewers to increase productivity. The models powering such recommendations are based on closed PRs, yet they make predictions on open PRs. The relative performance change between making predictions on open and closed PRs remains unknown. Furthermore, surveys have been conducted to gain an understanding of PR usage, however, they have missed key moments in a PR’s lifecycle. Insights into these aspects could boost productivity by improving recommendation tools and increase the merge rate by enhancing the development and review process of users. This thesis presents our mixed-methods study to address these concerns. We modeled and compared the performance of predicting the merging outcome of open and closed PRs. Predicting the outcome of open PRs had significant drawbacks, particularly non-merge predictions. However, merge predictions were satisfactory and all predictions improved exponentially as PRs neared completion. Then, we measured the importance of each factor on open and closed PRs. We discovered that the top factors for closed PRs were also the most important for open PRs, but occasionally in the reverse direction, i.e., they hurt predictions. We also found two factors that could be modeled with no downside and occasional performance gain. Moreover, we surveyed GitHub users to find out how submitters prepare PRs and respond to feedback and how reviewers judge and respond to PRs. The submitters shared that they prepare PRs by emphasizing project fitness, relevance, and clarity, and they try to respond quickly by fixing flaws and clarifying their intent. The reviewers shared that they always value project fitness, they appreciate simplicity and clarity in the first PR review, and they respond by asking for code improvements and more compliance with conventions. Our findings can enhance the usage of PRs by improving recommendations and collaboration processes.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)