SCAM 2024
Mon 7 - Tue 8 October 2024
co-located with ICSME 2024
Mon 7 Oct 2024 15:30 - 15:46 at Fremont - Maintenance

Refactoring is a non-trivial maintenance activity. Developers spend time and effort refactoring code to remove structural problems, i.e., code smells. Recent studies indicated that developers often apply composite refactoring (composite, for short), i.e., two or more interrelated refactorings. However, prior studies revealed that only 10% of composite refactorings are considered complete, i.e., those fully removing code smells. Many incomplete refactorings can even replace or introduce smells, requiring additional effort for their removal later in the project. Moreover, existing refactoring recommendations are not well-detailed and do not alert developers about these possible side effects. To address these gaps, we conducted a large-scale study involving more than 250k refactorings from 42 software projects, including both open-source and closed-source projects. Our goal is to investigate how the most common complete composites are combined and their side effects in the practice. Our results reveal that the current recommendation to apply Extract Method(s) with fine-grained refactoring types needs refinements. We found that certain fine-grained refactorings like Change Variable Types and Change Return Types can introduce up to 45% of Brain Methods when combined with Extract Method(s). Moreover, Extract Method(s) and Move Method(s), a common recommendation to remove Feature Envy, may inadvertently introduce about 30% of Lazy Classes and approximately 70% of Data Classes. Despite these potential side effects, existing refactoring catalogs and tools’ recommenders do not alert developers about these side effects. Finally, we consolidate our findings into a catalog to provide clear guidance for developers and researchers on effectively applying composite refactorings to fully remove code smells.

Mon 7 Oct

Displayed time zone: Mountain Time (US & Canada) change

15:30 - 17:00
MaintenanceResearch Track at Fremont
15:30
16m
Research paper
Enhancing Recommendations of Composite Refactorings based on the Practice
Research Track
Ana Carla Bibiano Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Anderson Uchôa Federal University of Ceará, Daniel Tenório Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Daniel Coutinho Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Wesley Assunção North Carolina State University, Alessandro Garcia Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Baldoino Fonseca Federal University of Alagoas (UFAL), Márcio Ribeiro Federal University of Alagoas, Brazil, Thelma Elita Colanzi State University of Maringa, Brazil, Audrey Vasconcelos Federal University of Alagoas (UFAL), Rafael de Mello UFRJ, Brazil
15:47
16m
Research paper
The Hidden Costs of Automation: An Empirical Study on GitHub Actions Workflow Maintenance
Research Track
Pablo Valenzuela-Toledo University of Bern, Universidad de La Frontera, Alexandre Bergel University of Chile, Oscar Nierstrasz feenk.com, Timo Kehrer University of Bern
Pre-print
16:04
16m
Research paper
Enhancing Identifier Naming Through Multi-Mask Fine-tuning of Language Models of CodeResearch Object ReviewedOpen Research Object
Research Track
Sanidhya Vijayvargiya BITS Pilani Hyderabad Campus, Mootez Saad Dalhousie University, Tushar Sharma Dalhousie University
Pre-print
16:21
16m
Research paper
Enhancing Security through Modularization: A Counterfactual Analysis of Vulnerability Propagation and Detection Precision
Research Track
Mohammad Mahdi Abdollahpour University of Waterloo, Jens Dietrich Victoria University of Wellington, Patrick Lam University of Waterloo
Pre-print
16:40
20m
Live Q&A
Discussion (Maintainance)
Research Track