Litcius/Paper detail

Graph-based visualization of merge requests for code review

Enrico Fregnan, Josua Fröhlich, Davide Spadini, Alberto Bacchelli

2022Journal of Systems and Software13 citationsDOIOpen Access PDF

Abstract

Code review is a software development practice aimed at assessing code quality, finding defects, and sharing knowledge among developers. Despite its wide adoption, code review is a challenging task for developers, who often struggle to understand the content of a review change-set. Visualization techniques represent a promising approach to support reviewers. In this paper we present a new visualization approach that displays classes and methods in review changes as nodes in a graph. Then, we implemented our graph-based approach in a tool (ReviewVis) and performed a two-step feedback collection phase to assess the developers’ perceptions on the tool’s benefits through (1) an in-company study with nine professional software developers and (2) an online survey with 37 participants. Given the positive results obtained by this first evaluation, we performed a second survey with 31 participants with a specific focus on supporting developers’ understanding of a review change-set. The collected feedback showed that the developers indeed perceive that ReviewVis can help them navigate and understand the changes under review. The results achieved also indicate possible future paths to use software visualization for code review. Data and Materials: https://doi.org/10.5281/zenodo.7047993

Topics & Concepts

Computer scienceCode reviewVisualizationSoftware visualizationMerge (version control)SoftwareSoftware engineeringSoftware inspectionSoftware developmentData scienceSoftware qualitySoftware constructionData miningInformation retrievalProgramming languageSoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware System Performance and Reliability