Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Code Review Visualizations With CodeDiVis for Java
Organization Unit
Authors
  • Josua Fröhlich
Supervisors
  • Alberto Bacchelli
  • Enrico Fregnan
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2020
Abstract Text Code review is a part of the software development cycle to improve code quality, the detection of bugs, knowledge transfer, and team awareness. Research in this field has focused on minimizing developers' effort while increasing their performance. An example is the creation of a changes ordering theory to reduce reviewers’ cognitive load. However, code review can easily become a complex task, when the number of changes to review increases. We hypothesized that providing supportive figures such as a call or dependency graph would be helpful for a reviewer during code review. Therefore, we developed a tool to visualize the relationships among entities in the code to be reviewed. To evaluate our tool, we have conducted two qualitative studies: a user study with nine professional developers in a software development company and an online survey with 29 participants. In both studies, participants generally responded positively about the tool. Participants reported they were or would be able to understand the code changes quicker. Moreover, they found easier to navigate through the changes and to orient themselves in the merge requests.
Zusammenfassung Code-Review ist ein fester Bestandteil des Software-Entwicklungszyklus, um die Code-Qualität zu verbessern. Zum Beispiel verbessert Code-Review Fehleridentifikation, Wissensaustausch und Teamgeist. Forschung auf diesem Gebiet konzentrierte sich darauf den Aufwand pro Entwickler für ein Review zu verringern und gleichzeitig mehr Nutzen daraus ziehen zu können. Ein Beispiel ist die "Change-Reihenfolge-Theorie", um die kognitive Belastung während eines Reviews zu reduzieren. Trotzdem kann Code-Review schnell zu einer komplexen Aufgabe werden, beispielsweise wenn sehr viele Changes überprüft werden müssen. Die darauf anknüpfende Hypothese war, dass eine grafische Unterstützung einem Entwickler beim Review helfen würde. Um die Beziehungen zwischen den Entitäten im Code vom Review darzustellen haben wir ein Tool entwickelt. Zwecks Evaluation des Tools wurden zwei qualitative Studien durchgeführt: eine Benutzerstudie mit 9 Testpersonen und eine Online-Umfrage mit 29 Teilnehmern. Die Teilnehmer beider Studien waren von der vorgeführten Software mehrheitlich begeistert. Die Teilnehmer konnten schneller verstehen worum es bei einem Change geht. Darüber hinweg konnten sie einfacher zwischen den Changes hin und her wechseln und fanden sich allgemein besser im Code-Review zurecht.
PDF File Download
Export BibTeX