kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
The temporal side of pull request acceptance
KTH, School of Electrical Engineering and Computer Science (EECS).
2023 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Den tidskänsliga sidan av pull request-acceptans (Swedish)
Abstract [en]

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.

Abstract [sv]

Det moderna sättet att bidra till mjukvara som är open source är via onlineplattformar. GitHub är den mest populära plattformen för detta syfte. På GitHub kan användare föreslå förbättringar till projekt genom att öppna en pull request (PR) och därmed anta rollen som sändare. PR:n är sedan granskad av en recensent som kan be om justeringar innan PR:n stängs och därmed blir accepterad eller nekad. Flertal verktyg har skapats som rekommenderar PR:s till recensenter för att öka produktivitet. Modellerna som verkställer dessa rekommendationer är baserade på stängda PR:s trots att de gör förutsägelser på öppna PR:s. Prestandaskillnaden mellan att göra förutsägelser på öppna och stängda PR:s har inte utforskats. Vidare har enkäter genomförts för att bättre förstå användningen av PR:s, dock har de missat viktiga moment i livscykeln av en PR. Insikter inom dessa aspekter kan öka produktivitet genom att förbättra rekommendationsverktyg och öka framgången av PR:s genom att förbättra processen av utveckling och recension. Vi presenterar vår tes av mixade metoder för att angripa dessa punkter. Vi modellerade och jämförde prestandan av att förutspå beslutet av öppna och stängda PR:s. Att förutspå beslutet av öppna PR:s hade signifikanta nackdelar, specifikt förutsägelser av nekade PR:s. Dock var förutsägelsen av accepterade PR:s duglig och prestandan ökade exponentiellt när PR:s närmade deras slutgiltiga tillstånd. Efteråt mätte vi inflytandet av varje faktor på öppna och stängda PR:s. Vi upptäckte att toppfaktorerna för stängda PR:s var även viktigast för öppna PR:s, men ibland i motsatt riktning, alltså skadades prestandan. Vi fann också två faktorer som kunde modelleras utan nackdelar och med enstaka fördelar. Vidare skapade vi en enkät på GitHub-användare för att se hur sändare förbereder PR:s och svarar på feedback och hur recensenter granskar och svarar på PR:s. Sändarna sa att de förbereder PR:s genom att betona projektanpassning, relevans, och tydlighet, och de försöker svara snabbt genom att fixa problem och förtydliga deras avsikt. Recensenterna sa att de alltid värderar projektanpassning, uppskattar simplicitet och tydlighet i första PR-recensionen, och de svarar genom att be om kodförbättringar och mer följsamhet med konventioner. Våra upptäckter kan förhöja användandet av PR:s genom att förbättra rekommendationer och samarbetsprocesser.

Place, publisher, year, edition, pages
2023. , p. 76
Series
TRITA-EECS-EX ; 2023:15
Keywords [en]
Pull requests, GitHub, code review, machine learning, survey
Keywords [sv]
Pull requests, GitHub, kodrecension, maskininlärning, enkät
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-324020OAI: oai:DiVA.org:kth-324020DiVA, id: diva2:1737828
Supervisors
Examiners
Available from: 2023-02-25 Created: 2023-02-17 Last updated: 2023-02-25Bibliographically approved

Open Access in DiVA

fulltext(720 kB)227 downloads
File information
File name FULLTEXT01.pdfFile size 720 kBChecksum SHA-512
10162bf5e0c21a39ea27189627a2366e8f96b0cd62b98e0d8cfcf30c2b2c5712cd405ff31bfb80ba43c6a1f3e1c2682c422fd5cf478082b9a2959d45b594b6f0
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 227 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 669 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf