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): Mauricio 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
Times are displayed in time zone: (UTC) Coordinated Universal Time change

10:30 - 11:00: Technical Papers - Refactoring & Testing at MSR:Zoom2
Chair(s): Mauricio AnicheDelft University of Technology, Netherlands

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

msr-2020-papers10:30 - 10:37
Live Q&A
Leonardo Da Silva SousaCarnegie Mellon University, USA, Diego CedrimPontifical Catholic University of Rio de Janeiro, Alessandro GarciaPUC-Rio, Willian OizumiPUC-Rio, Ana Carla BibianoPUC-Rio, Daniel OliveiraPUC-Rio, Miryung KimUniversity of California, Los Angeles, Anderson OliveiraPUC-Rio
Pre-print Media Attached
msr-2020-papers10:37 - 10:45
Live Q&A
Matheus PaixaoUniversity of Fortaleza, Anderson UchôaPontifical Catholic University of Rio de Janeiro (PUC-Rio), Ana Carla BibianoPUC-Rio, Daniel OliveiraPUC-Rio, Alessandro GarciaPUC-Rio, Jens KrinkeUniversity College London, Emilio Arvonio
Pre-print Media Attached
msr-2020-Data-showcase10:45 - 10:52
Live Q&A
Federico Corò, Roberto VerdecchiaVrije Universiteit Amsterdam, Emilio Cruciani, Breno MirandaFederal University of Pernambuco, Antonia BertolinoCNR-ISTI
Pre-print Media Attached
msr-2020-Data-showcase10:52 - 11:00
Live Q&A
András Kicsi, László VidácsUniversity of Szeged, Hungary, Tibor Gyimothy
Pre-print Media Attached