RAID: Tool Support for Refactoring-Aware Code Reviews

被引:5
|
作者
Brito, Rodrigo [1 ]
Valente, Marco Tulio [1 ]
机构
[1] Fed Univ Minas Gerais UFMG, ASERG Grp, Dept Comp Sci, Belo Horizonte, MG, Brazil
关键词
Refactoring; Refactoring-Aware Code Review; Code Review; Textual Diffs;
D O I
10.1109/ICPC52881.2021.00033
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 effort required for detecting and reviewing refactorings in textual diff. Besides documenting refactorings in diffs, RAID reduces the number of lines required for reviewing such operations. For example, the median number of lines to be reviewed decreases from 14.5 to 2 lines in the case of move refactorings and from 113 to 55 lines in the case of extractions.
引用
收藏
页码:265 / 275
页数:11
相关论文
共 50 条
  • [41] An Endurance-aware RAID-6 Code with Low Computational Complexity and Write Overhead
    Liang, Ningjing
    Zhang, Xingjun
    Wu, Xurui
    Chen, Heng
    Zhang, Changjiang
    19TH IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS (ISPA/BDCLOUD/SOCIALCOM/SUSTAINCOM 2021), 2021, : 939 - 946
  • [42] CloneTracker: Tool Support for Code Clone Management
    Duala-Ekoko, Ekwa
    Robillard, Martin P.
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 843 - 846
  • [43] Using App Reviews for Competitive Analysis: Tool Support
    Shah, Faiz Ali
    Sirts, Kairit
    Pfahl, Dietmar
    PROCEEDINGS OF THE 3RD ACM SIGSOFT INTERNATIONAL WORKSHOP ON APP MARKET ANALYTICS (WAMA '19), 2019, : 40 - 46
  • [44] RAMS: A VHDL-AMS code refactoring tool supporting high level analog synthesis
    Zeng, KP
    Huss, SA
    IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI, PROCEEDINGS: NEW FRONTIERS IN VLSI DESIGN, 2005, : 266 - 267
  • [45] Balanced P-Code: A RAID-6 Code to Support Highly Balanced I/Os for Disk Arrays
    Xie, Ping
    Huang, Jianzhong
    Cao, Qiang
    Xie, Changsheng
    2014 9TH IEEE INTERNATIONAL CONFERENCE ON NETWORKING, ARCHITECTURE, AND STORAGE (NAS), 2014, : 133 - 137
  • [46] Integrating Code Reviews into Online Lessons to Support Software Engineering Education
    Farah, Juan Carlos
    Spaenlehauer, Basile
    Rodríguez-Triana, María Jesús
    Ingram, Sandy
    Gillet, Denis
    Lecture Notes in Networks and Systems, 2023, 634 LNNS : 815 - 826
  • [47] A Survey of Tool Support for Working with Design Decisions in Code
    Mehrpour, Sahar
    LaToza, Thomas D.
    ACM COMPUTING SURVEYS, 2024, 56 (02)
  • [48] Thoth: A Web-based Tool to Support Systematic Reviews
    Marchezan, Luciano
    Bolfe, Guilherme
    Rodrigues, Elder
    Bernardino, Maicon
    Basso, Fabio Paulo
    2019 13TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2019), 2019, : 19 - 24
  • [49] Tool Support for Working with Sets of Source Code Entities
    Fraser, Curtis
    Luce, Chris
    Starke, Jamie
    Sillito, Jonathan
    2008 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, PROCEEDINGS, 2008, : 73 - 77
  • [50] Automatic Requirements Reviews - Potentials, Limitations and Practical Tool Support
    Femmer, Henning
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT (PROFES 2017), 2017, 10611 : 617 - 620