Proceedings Article10.1109/VLHCC.2017.8103453
Refactoring-aware code review
Xi Ge,Saurabh Sarkar,Jim Witschey,Emerson Murphy-Hill +3 more
- 01 Oct 2017
pp 71-79
47
TL;DR: A formative study of 35 developers is described that motivates the need for separating refactorings from non-refactorings during code review, and a refactoring-aware code review tool is presented, called ReviewFactor, that differentiates between refactors and non- Refactorings, and allows developers to focus on one of them at a time.
read more
Abstract: Code review, where developers manually inspect one another's code changes, improves software quality and transfers knowledge in a team. Unfortunately, tools that support code review treat behavior-preserving changes, or refactorings, and behavior-altering changes, or non-refactorings, the same way, so developers have to spend effort differentiating between the two before they can evaluate the impact of a change set. In this paper, we describe a formative study of 35 developers that motivates the need for separating refactorings from non-refactorings during code review. Then, we present a refactoring-aware code review tool, called ReviewFactor, that differentiates between refactoring and non-refactoring, and allows developers to focus on one of them at a time. Finally, a case study of two open source projects suggests that ReviewFactor detects refactorings in 39% of the commits, and identifies 4.6% of the total lines of code change as refactorings. Our results also show that the precision and recall of ReviewFactor's refactoring detection algorithm are 92.5% and 94.2%, respectively.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Accurate and efficient refactoring detection in commit history
Nikolaos Tsantalis,Matin Mansouri,Laleh Eshkevari,Davood Mazinanian,Danny Dig +4 more
- 27 May 2018
TL;DR: The most comprehensive oracle to date that uses triangulation to create a dataset with considerably reduced bias is created, finding that RMiner has a precision of 98% and recall of 87%, which is a significant improvement over the previous state-of-the-art refactoring detection tools.
319
RefactoringMiner 2.0
TL;DR: Tsantalis et al. as discussed by the authors introduced the first refactoring mining tool that does not require any code similarity thresholds to operate and achieved the highest average precision (99.6 percent) and recall (94 percent) among all competitive tools, and on median is 2.6 times faster than the second faster competitive tool.
107
Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox
Eman Abdullah AlOmar,Hussein Alrubaye,Mohamed Wiem Mkaouer,Ali Ouni,Marouane Kessentini +4 more
- 25 May 2021
TL;DR: In this paper, the authors present an industrial case study with 24 professional developers at Xerox to study the motivations, documentation practices, challenges, verification, and implications of refactoring activities during code review.
40
A Systematic Literature Review and Taxonomy of Modern Code Review
Nicole Davila,Ingrid Nunes +1 more
TL;DR: In this article, the state of the art on modern code review (MCR) is identified, providing a structured overview and an in-depth analysis of the research done in this field.
30
Refactoring Graphs: Assessing Refactoring over Time
Aline Brito,Andre Hora,Marco Tulio Valente +2 more
- 01 Feb 2020
TL;DR: In this paper, the authors propose a concept called refactoring graphs and provide an algorithm to build such graphs and investigate the history of 10 popular open-source Java-based projects.
26
References
•Book
Refactoring: Improving the Design of Existing Code
Martin Fowler
- 01 Jan 1999
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
A guided tour to approximate string matching
TL;DR: This work surveys the current techniques to cope with the problem of string matching that allows errors, and focuses on online searching and mostly on edit distance, explaining the problem and its relevance, its statistical behavior, its history and current developments, and the central ideas of the algorithms.
How We Refactor, and How We Know It
TL;DR: It is found that refactoring tools are seldom used: 11 percent by Eclipse developers and 9 percent by Mylyn developers, and cast doubt on several previously stated assumptions about how programmers refactor, while validating others.
543
Expectations, outcomes, and challenges of modern code review
Alberto Bacchelli,Christian Bird +1 more
- 18 May 2013
TL;DR: In this article, the authors empirically explore the motivations, challenges, and outcomes of tool-based code reviews and find that code and change understanding is the key aspect of code reviewing and that developers employ a wide range of mechanisms to meet their understanding needs, most of which are not met by current tools.
Appendix to Expectations, Outcomes, and Challenges of Modern Code Review
Christian Bird,Alberto Bacchelli +1 more
- 01 Aug 2012
TL;DR: This study reveals that while finding defects remains the main motivation for review, reviews are less about defects than expected and instead provide additional benefits such as knowledge transfer, increased team awareness, and creation of alternative solutions to problems.
Related Papers (5)
Alberto Bacchelli,Christian Bird +1 more
- 18 May 2013
Danilo Silva,Nikolaos Tsantalis,Marco Tulio Valente +2 more
- 01 Nov 2016
Miryung Kim,Thomas Zimmermann,Nachiappan Nagappan +2 more
- 11 Nov 2012