The need for speed: increasing the code review velocity
Promotie: | Dhr. G. (Gunnar) Kudrjavets |
Wanneer: | 17 oktober 2023 |
Aanvang: | 16:15 |
Promotor: | P. (Paris) Avgeriou, Prof |
Copromotor: | A. (Ayushi) Rastogi, Dr |
Waar: | Academiegebouw RUG |
Faculteit: | Science and Engineering |

Hoe kunnen we aanpassingen in software zo snel mogelijk in het eindproduct krijgen?
In de software-industrie kunnen consumenten, ontwikkelaars en het project pas profiteren van ideeën als deze vorm hebben gekregen als commits na controle door een reviewer. Voor de software engineer van vandaag is de snelheid waarmee de code die ze produceren deel wordt van het eindproduct cruciaal. Daarom is het verbeteren van codesnelheid een van de belangrijkste doelen van de software-industrie.
Een van de populairste manieren, naar verluidt, om de codesnelheid te verbeteren, is het beperken van de grootte van de code reviews. Een populaire mythe in de software-industrie is dat engineers kleinere codewijzigingen sneller beoordelen. In zijn onderzoek bestudeerde Kudrjavets een dataset van 845.316 codewijzigingen, en vond dat het verband tussen de grootte, opzet, en tijd tot integreren verwaarloosbaar was. Wel stelde Kudrjavets twee vormen van vertraging vast tijdens de code reviews: (a) de wachttijd tussen het verzoek tot codewijzigingen tot de eerste reactie en (b) de wachttijd tussen het accepteren en het integreren. Kudrjavets: 'Onze bevindingen wijzen erop dat kernelcode het belangrijkste optimalisatiedoel is om code-snelheid te verbeteren in de BSD bestuurssystemen.'
Kudrjavets vond geen openbaar bewijs waarin is vastgesteld wat de voordelen zijn van het verwijderen van dode code uit de actieve codebases. Zo is er ook geen bewijs dat aantoont dat het oplossen van compiler-waarschuwingen ten goede komt aan het softwareproject. Kudrjavets voerde een kwalitatieve enquête uit om overtuigingen en gewoontes rondom codesnelheid te achterhalen. Hij stelde vast dat (a) de industrie en de open source community overeenkomende overtuigingen hebben, dat (b) een snelle reactietijd uiterst belangrijk is, dat (c) tijd tot integreren het belangrijkste code review meetsysteem is om te verbeteren, dat (d) engineers geen bewijs zien van de voordelen van toegenomen codesnelheid voor de groei van hun carrière, en dat (e) gecontroleerde toepassing van het commit-then-review model tot toegenomen codesnelheid kan leiden.
Gunnar Kudrjavets voerde zijn onderzoek uit bij het Bernoulli Institute for Mathematics, Computer Science and Artificial Intelligence, afdeling Software Engineering.