RAID: Tool Support for Refactoring-Aware Code Reviews
Rodrigo Brito, Marco Tulio Valente

TL;DR
RAID is an innovative tool that enhances code review by automatically detecting refactorings, reducing review effort and improving the accuracy of understanding code changes during reviews.
Contribution
This paper introduces RAID, a refactoring-aware diff tool with a Chrome plugin, that aids developers in identifying refactorings during code reviews, which was previously challenging.
Findings
RAID reduces the median review lines for move refactorings from 14.5 to 2.
RAID decreases review lines for extraction refactorings from 113 to 55.
Using RAID lowers cognitive effort in detecting and reviewing refactorings.
Abstract
Code review is a key development practice that contributes to improve software quality and to foster knowledge sharing among developers. However, code review usually takes time and demands detailed and time-consuming analysis of textual diffs. Particularly, detecting refactorings during code reviews is not a trivial task, since they are not explicitly represented in diffs. For example, a Move Function refactoring is represented by deleted (-) and added lines (+) of code which can be located in different and distant source code files. To tackle this problem, we introduce RAID, a refactoring-aware and intelligent diff tool. Besides proposing an architecture for RAID, we implemented a Chrome browser plug-in that supports our solution. Then, we conducted a field experiment with eight professional developers who used RAID for three months. We concluded that RAID can reduce the cognitive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Web Data Mining and Analysis · Software System Performance and Reliability
