Write a Blog >>
ICPC 2020
Mon 13 - Wed 15 July 2020
co-located with ICSE 2020
Mon 13 Jul 2020 16:30 - 16:42 at ICPC - Session 2: Quality Chair(s): Gemma Catolino

Program refactoring consists of code changes applied to improve the internal structure of a program and, as a consequence, its comprehensibility. Recent studies indicate that developers often perform composite refactorings, i.e., a set of two or more interrelated single refactorings. Recent studies also recommend certain patterns of composite refactorings to fully remove poor code structures, i.e, code smells, thus further improving the program comprehension. However, other recent studies report that composite refactorings often fail to fully remove code smells. Given their failure to achieve this purpose, these composite refactorings are considered incomplete, i.e, they are not able to entirely remove a smelly structure. Unfortunately, there is no study providing an in-depth analysis of the incompleteness nature of many composites and their possibly partial impact on improving, maybe decreasing, internal quality attributes. This paper identifies the most common forms of incomplete composites, and their effect on quality attributes, such as coupling and cohesion, which are known to have an impact on program comprehension. We analyzed 353 incomplete composite refactorings in 5 software projects, two common code smells (Feature Envy and God Class), and four internal quality attributes. Our results reveal that incomplete composite refactorings with at least one Extract Method are often (71%) applied without Move Methods on smelly classes. We have also found that most incomplete composite refactorings (58%) tended to at least maintain the internal structural quality of smelly classes, thereby not causing more harm to program comprehension. We also discuss the implications of our findings to the research and practice of composite refactoring.

Mon 13 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

16:30 - 17:30
Session 2: QualityResearch / Tool Demonstration at ICPC
Chair(s): Gemma Catolino Delft University of Technology
16:30
12m
Paper
How Does Incomplete Composite Refactoring Affect Internal Quality Attributes?
Research
Ana Carla Bibiano PUC-Rio, Vinícius Soares PUC-Rio, Daniel Coutinho PUC-Rio, Eduardo Fernandes Pontifical Catholic University of Rio de Janeiro, João Lucas Correia Federal University of Alagoas, Kleber Tarcísio UFCG, Anderson Oliveira PUC-Rio, Alessandro Garcia PUC-Rio, Rohit Gheyi Federal University of Campina Grande, Márcio Ribeiro Federal University of Alagoas, Brazil, Baldoino Fonseca , Caio Barbosa UFAL, Daniel Oliveira PUC-Rio
Media Attached
16:42
12m
Paper
An Empirical Study of Quick Remedy Commits
Research
Fengcai Wen , Csaba Nagy Software Institute - USI, Lugano, Switzerland, Michele Lanza Universita della Svizzera italiana (USI), Gabriele Bavota Università della Svizzera italiana
Pre-print Media Attached
16:54
12m
Paper
When Are Smells Indicators of Architectural Refactoring Opportunities? A Study of 50 Software Projects
Research
Leonardo Da Silva Sousa Carnegie Mellon University, USA, Willian Oizumi PUC-Rio, Alessandro Garcia PUC-Rio, Anderson Oliveira PUC-Rio, Diego Cedrim Pontifical Catholic University of Rio de Janeiro, Carlos Lucena
Pre-print Media Attached
17:06
12m
Paper
Refactoring Android-specific Energy Smells: A Plugin for Android Studio
Tool Demonstration
Emanuele Iannone University of Salerno, Fabiano Pecorelli University of Salerno, Dario Di Nucci Tilburg University, Fabio Palomba University of Salerno, Andrea De Lucia University of Salerno
Media Attached
17:18
12m
Paper
BugVis: Commit Slicing for Defect Visualisation
Tool Demonstration
David Bowes Lancaster University, Jean Petric Lancaster University, Tracy Hall Lancaster University
Media Attached