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 条
  • [31] Conflict-aware Optimal Scheduling of Code Clone Refactoring: A Constraint Programming Approach
    Zibran, Minhaz F.
    Roy, Chanchal K.
    2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, : 266 - 269
  • [32] SPCP-Miner: A Tool for Mining Code Clones That Are Important for Refactoring or Tracking
    Mondal, Manishankar
    Roy, Chanchal K.
    Schneider, Kevin A.
    2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, : 484 - 488
  • [33] Tool-supported refactoring of existing object-oriented code into aspects
    Binkley, David
    Ceccato, Mariano
    Harman, Mark
    Ricca, Filippo
    Tonella, Paolo
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (09) : 698 - 717
  • [34] The Design of an Online Environment to Support Pedagogical Code Reviews
    Hundhausen, Christopher
    Agrawal, Anukrati
    Ryan, Kyle
    SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2010, : 182 - 186
  • [35] Tool Support for Finding Anomalies in Refactoring Edits for Improving Software Evolution
    Nguyen, Uy
    Zeng, Xinyu
    Cho, Samuel Sungmin
    Song, Myoungkyu
    2020 IEEE INTERNATIONAL CONFERENCE ON ELECTRO INFORMATION TECHNOLOGY (EIT), 2020,
  • [36] Tool Support for Analyzing Mobile App Reviews
    Phong Minh Vu
    Hung Viet Pham
    Tam The Nguyen
    Tung Thanh Nguyen
    2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 789 - 794
  • [37] A Constraint Programming Approach to Conflict-aware Optimal Scheduling of Prioritized Code Clone Refactoring
    Zibran, Minhaz F.
    Roy, Chanchal K.
    11TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2011), 2011, : 105 - 114
  • [38] Towards Sustainable Cloud Software Systems through Energy-Aware Code Smell Refactoring
    Imran, Asif
    Kosar, Tevfik
    Zola, Jaroslaw
    Bulut, M. Fatih
    2024 IEEE 17TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING, CLOUD 2024, 2024, : 223 - 234
  • [39] Agent Based Tool for Topologically sorting Badsmells and Refactoring by Analyzing Complexities in Source Code
    AyshwaryaLakshmi, S.
    Mary, S. A. Sahaaya Arul
    Vadivu, S. Shanmuga
    2013 FOURTH INTERNATIONAL CONFERENCE ON COMPUTING, COMMUNICATIONS AND NETWORKING TECHNOLOGIES (ICCCNT), 2013,
  • [40] MLSmellHound: A Context-Aware Code Analysis Tool
    Kannan, Jai
    Barnett, Scott
    Cruz, Luis
    Simmons, Anj
    Agarwal, Akash
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2022), 2022, : 66 - 70