[Back]


Diploma and Master Theses (authored and supervised):

C. Mayerhofer:
"Entwurf und Entwicklung eines Moduls zur Durchführung von Code-Reviews basierend auf Changesets in integrierten Entwicklungsumgebungen";
Supervisor: T. Grechenig, M. Bernhart; 183/1, 2009.



English abstract:
Code reviews are a method to assure quality in software projects. Although their efficiency has been confirmed by a lot of studies, they are still considered a cost and time intensive necessity for the improvement of product quality. In fact formal review methods like software inspection and walk-through requires a considerable amount of resources for the planning and execution of the individual review phases. Less formal review methods are more lightweight, so they are easier to adapt to special needs in software projects. Furthermore reviewers can focus on the most important task of code reviews - inspecting the source code.
This thesis presents the concept of a lightweight review process using the revision control system for the execution of code reviews. Unlike traditional review methods where the review scope is determined by the review manager, the source code under review equals to a changeset in the versioning system. The code changes within a changeset are highly interdependent, thus the reviewer may understand the code modifications in a more easier manner. Based on author-reviewer assignments the code reviews are created automatically by the review system and can be executed continuously. The initial adoption and planning of the reviews requires minimal time. All review data is stored within files and shared with the revision control system. So there is no need to setup any server-side application.
Based on the introduced concept a prototype for the integrated development environment Eclipse has been implemented, which includes all requirements specified for the lightweight review process.

German abstract:
Code-Reviews dienen der Qualitätssicherung in Software-Projekten. Obwohl deren Effizienz unumstritten ist und in vielen Studien belegt wurde, werden sie immer noch als zeit- und kostenintensive Notwendigkeit zur Steigerung der Produktqualität empfunden. Die Durchführung von streng formalen Review-Methoden wie der Inspektion oder dem Walkthrough bedürfen tatsächlich einem nicht unbeträchtlichen Einsatz an Ressourcen zur Planung und Durchführung der einzelnen Review-Phasen. Weniger formale Review-Methoden sind hingegen leichtgewichtiger und können so besser an die Bedürfnisse des jeweiligen Software-Projektes angepasst werden. Außerdem kann durch den verringerten Aufwand der Fokus des Reviews auf die ursprüngliche Arbeit
- die Prüfung des Quellcodes - gelegt werden.
Zur Durchführung eines leichtgewichtigen Review-Prozesses wird in dieser Arbeit ein Lösungskonzept vorgestellt, welches das Versionierungssystem zur Durchführung der Code-Reviews vorsieht. Im Gegensatz zu traditionellen Review-Verfahren, wo die Menge des zu überprüfenden Quellcodes durch den Review-Manager festgelegt wird, werden hier die zu überprüfenden Artefakte durch das Changeset im Versionierungssystem bestimmt. Die Änderungen innerhalb eines Changesets sind stark voneinander abhängig und bilden daher einen idealen Ausgangspunkt für den Reviewer um Codeänderungen besser verstehen zu können. Durch Autor-Reviewer-Zuordnungen können die Code-Reviews automatisch erstellt und kontinuierlich durchgeführt werden. Die initiale Einplanung der Reviews nimmt somit nur minimale Zeit in Anspruch. Das Lösungskonzept sieht eine zentrale Verteilung der Review-Daten durch das Versionierungssystem vor, es ist somit keine zusätzliche Server-Infrastruktur notwendig.
Basierend auf dem vorgestellten Lösungskonzept wird ein Prototyp für die Entwicklungsumgebung Eclipse implementiert, der die definierten Anforderungen für einen leichtgewichtigen Review-Prozess umsetzt.

Created from the Publication Database of the Vienna University of Technology.