MSR 2020
Mon 29 - Tue 30 June 2020
co-located with ICSE 2020
Mon 29 Jun 2020 10:37 - 10:45 at MSR:Zoom2 - Refactoring & Testing Chair(s): Maurício Aniche

Code refactorings are of pivotal importance in modern code review. Developers may preserve, revisit, add or undo refactorings through changes’ revisions. Their goal is to certify that the driving intent of a code change is properly achieved. Developers’ intents behind refactorings may vary from pure structural improvement to facilitating feature additions and bug fixes. However, there is little understanding of the refactoring practices performed by developers during the code review process. It is also unclear whether the developers’ intents influence the selection, composition, and evolution of refactorings during the review of a code change. Through mining 1,780 reviewed code changes from 6 systems pertaining to two large open-source communities, we report the first in-depth empirical study on software refactoring during code review. We inspected and classified the developers’ intents behind each code change into 7 distinct categories. By analyzing data generated during the complete reviewing process, we observe: (i) how refactorings are selected, composed and evolved throughout each code change, and (ii) how developers’ intents are related to these decisions. For instance, our analysis shows developers regularly apply non-trivial sequences of refactorings that crosscut multiple code elements (i.e., widely scattered in the program) to support a single feature addition. Moreover, we observed that new developers’ intents commonly emerge during the code review process, influencing how developers select and compose their refactorings to achieve the new and adapted goals. Finally, we provide an enriched dataset that allows researchers to investigate the context and motivations behind refactoring operations during the code review process.

Mon 29 Jun

Displayed time zone: (UTC) Coordinated Universal Time change

10:30 - 11:00
Refactoring & TestingTechnical Papers / Registered Reports / Keynote / MSR Awards / FOSS Award / Education / Data Showcase / Mining Challenge / MSR Challenge Proposals / Ask Me Anything at MSR:Zoom2
Chair(s): Maurício Aniche Delft University of Technology, Netherlands

Q/A & Discussion of Session Papers over Zoom (Joining info available on Slack)

10:30
7m
Live Q&A
Characterizing and Identifying Composite Refactorings: Concepts, Heuristics and PatternsMSR - Technical Paper
Technical Papers
Leonardo Da Silva Sousa Carnegie Mellon University, USA, Diego Cedrim Pontifical Catholic University of Rio de Janeiro, Alessandro Garcia PUC-Rio, Willian Oizumi PUC-Rio, Ana Carla Bibiano PUC-Rio, Daniel Oliveira PUC-Rio, Miryung Kim University of California, Los Angeles, Anderson Oliveira PUC-Rio
Pre-print Media Attached
10:37
7m
Live Q&A
Behind the Intents: An In-depth Empirical Study on Software Refactoring in Modern Code ReviewMSR - Technical Paper
Technical Papers
Matheus Paixao University of Fortaleza, Anderson Uchôa Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Ana Carla Bibiano PUC-Rio, Daniel Oliveira PUC-Rio, Alessandro Garcia PUC-Rio, Jens Krinke University College London, Emilio Arvonio
Pre-print Media Attached
10:45
7m
Live Q&A
JTeC: A Large Collection of Java Test Classes for Test Code Analysis and ProcessingMSR - Data Showcase
Data Showcase
Federico Corò , A: Roberto Verdecchia Vrije Universiteit Amsterdam, A: Emilio Cruciani , A: Breno Miranda Federal University of Pernambuco, A: Antonia Bertolino CNR-ISTI
Pre-print Media Attached
10:52
7m
Live Q&A
TestRoutes: A Manually Curated Method Level Dataset for Test-to-Code TraceabilityMSR - Data Showcase
Data Showcase
A: András Kicsi , A: László Vidács University of Szeged, Hungary, A: Tibor Gyimothy
Pre-print Media Attached