Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Wed 17 May 2023 11:00 - 11:15 at Meeting Room 102 - Mining software repositories Chair(s): Brittany Johnson

Refactoring is a common software maintenance practice. While the literature defines standard code modifications for each refactoring type, popular IDEs provide refactoring tools aiming to support these standard modifications. However, previous studies indicated that developers either frequently avoid using these tools or end up modifying and even reversing the code automatically refactored by IDEs. Thus, developers are forced to manually apply refactorings, which is cumbersome and error-prone. This means that refactoring support may not be entirely aligned with practical needs. The improvement of tooling support for refactoring in practice requires understanding in what ways developers tailor refactoring modifications. To address this issue, we conduct an analysis of 1,162 refactorings composed of more than 100k program modifications from 13 software projects. The results reveal that developers recurrently apply patterns of additional modifications along with the standard ones, from here on called patterns of \textit{customized refactorings}. For instance, we found customized refactorings in 80.77% of the \textit{Move Method} instances observed in the software projects. We also investigated the features of refactoring tools in popular IDEs and observed that most of the customization patterns are not fully supported by them. Additionally, to understand the relevance of these customizations, we conducted a survey with 40 developers about the most frequent customization patterns we found. Developers confirm the relevance of customization patterns and agree that improvements in IDE’s refactoring support are needed. These observations highlight that refactoring guidelines must be updated to reflect typical refactoring customizations. Also, IDE builders can use our results as a basis to enable a more flexible application of automated refactorings. For example, developers should be able to choose which method must handle exceptions when extracting an exception code into a new method.

Wed 17 May

Displayed time zone: Hobart change

11:00 - 12:30
Mining software repositoriesTechnical Track / Journal-First Papers / DEMO - Demonstrations at Meeting Room 102
Chair(s): Brittany Johnson George Mason University
11:00
15m
Talk
The untold story of code refactoring customizations in practice
Technical Track
Daniel Oliveira PUC-Rio, Wesley Assunção Johannes Kepler University Linz, Austria & Pontifical Catholic University of Rio de Janeiro, Brazil, Alessandro Garcia PUC-Rio, Ana Carla Bibiano PUC-Rio, Márcio Ribeiro Federal University of Alagoas, Brazil, Rohit Gheyi Federal University of Campina Grande, Baldoino Fonseca Federal University of Alagoas (UFAL)
Pre-print
11:15
15m
Talk
Data Quality for Software Vulnerability Datasets
Technical Track
Roland Croft The University of Adelaide, Muhammad Ali Babar University of Adelaide, M. Mehdi Kholoosi University of Adelaide
Pre-print
11:30
15m
Talk
Do code refactorings influence the merge effort?
Technical Track
André Oliveira Federal Fluminense University, Vania Neves Universidade Federal Fluminense (UFF), Alexandre Plastino Federal Fluminense University, Ana Carla Bibiano PUC-Rio, Alessandro Garcia PUC-Rio, Leonardo Murta Universidade Federal Fluminense (UFF)
11:45
7m
Talk
ActionsRemaker: Reproducing GitHub Actions
DEMO - Demonstrations
Hao-Nan Zhu University of California, Davis, Kevin Guan University of California, Davis, Robert M. Furth University of California, Davis, Cindy Rubio-González University of California at Davis
11:52
7m
Talk
Problems with with SZZ and Features: An empirical assessment of the state of practice of defect prediction data collection
Journal-First Papers
Steffen Herbold University of Passau, Alexander Trautsch University of Passau, Alexander Trautsch Germany, Benjamin Ledel None
12:00
7m
Talk
An empirical study of issue-link algorithms: which issue-link algorithms should we use?
Journal-First Papers
Masanari Kondo Kyushu University, Yutaro Kashiwa Nara Institute of Science and Technology, Yasutaka Kamei Kyushu University, Osamu Mizuno Kyoto Institute of Technology
12:07
7m
Talk
SCS-Gan: Learning Functionality-Agnostic Stylometric Representations for Source Code Authorship Verification
Journal-First Papers
Weihan Ou Queen's University at Kingston, Ding Steven, H., H. Queen’s University at Kingston, Yuan Tian Queens University, Kingston, Canada, Leo Song Queen’s University at Kingston
12:15
15m
Talk
A Comprehensive Study of Real-World Bugs in Machine Learning Model Optimization
Technical Track
Hao Guan The University of Queensland, Ying Xiao Southern University of Science and Technology, Jiaying LI Microsoft, Yepang Liu Southern University of Science and Technology, Guangdong Bai University of Queensland