Refactoring Legacy Code Using Cleaning Up Cycles: An Experience Report

Due to the lack of standards at the time they were written, many codebases suffer from reduced code quality. Some of these systems can not be replaced and need to be maintained to guarantee the healthy development of the software. In the context of this paper, we are presenting a case study performed on the legacy codebase of ASML, a leading Dutch company specializing in the design and manufacture of advanced semiconductor lithography equipment. As new policies were enforced within the company, many specific interfaces were deprecated. The presence of such obsolete interfaces in the codebase adds to the overall complexity of the legacy system, while also permitting a future violation of the Interface Segregation Principle, one of the five SOLID design principles. The objective of this paper is to present our experience with refactoring the specified interfaces. Besides performing the clean-up, we were tasked to find an optimal, iterative, and repeatable approach to performing the clean-up of these interfaces while documenting our findings in a reproducible manner for future employees. To discover an efficient clean-up strategy, we used the Action Research methodology. Going through the “Planning”, “Acting”, “Observing” and “Reflecting” phases of this methodology repeatedly, we revised the strategy and executed our refactoring work accordingly. After multiple refactoring operations, our process stabilized and we introduced the “Cleaning-Up Cycle”. We spent less time and had fewer failures per interface as our cycle evolved, despite attempting more complex types of interfaces later. We found the Clean-Up Cycle to represent a valuable strategy when executing this type of refactoring. This was fed back to the ASML team and considered the foundation for future employees continuing our work.

Authors

Institutions

Publication Details

Published
2024-10-06
DOI
https://doi.org/10.1109/icsme58944.2024.00079
Citations
1
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
1.05
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Refactoring Legacy Code Using Cleaning Up Cycles: An Experience Report

Andrea Capiluppi, Andrei V. Girjoaba
1 citations
Scientific Computing and Data Management
1.05
article

Refactoring Legacy Code Using Cleaning Up Cycles: An Experience Report

Andrea Capiluppi, Andrei V. Girjoaba
article en
1 citations

Abstract

Due to the lack of standards at the time they were written, many codebases suffer from reduced code quality. Some of these systems can not be replaced and need to be maintained to guarantee the healthy development of the software. In the context of this paper, we are presenting a case study performed on the legacy codebase of ASML, a leading Dutch company specializing in the design and manufacture of advanced semiconductor lithography equipment. As new policies were enforced within the company, many specific interfaces were deprecated. The presence of such obsolete interfaces in the codebase adds to the overall complexity of the legacy system, while also permitting a future violation of the Interface Segregation Principle, one of the five SOLID design principles. The objective of this paper is to present our experience with refactoring the specified interfaces. Besides performing the clean-up, we were tasked to find an optimal, iterative, and repeatable approach to performing the clean-up of these interfaces while documenting our findings in a reproducible manner for future employees. To discover an efficient clean-up strategy, we used the Action Research methodology. Going through the “Planning”, “Acting”, “Observing” and “Reflecting” phases of this methodology repeatedly, we revised the strategy and executed our refactoring work accordingly. After multiple refactoring operations, our process stabilized and we introduced the “Cleaning-Up Cycle”. We spent less time and had fewer failures per interface as our cycle evolved, despite attempting more complex types of interfaces later. We found the Clean-Up Cycle to represent a valuable strategy when executing this type of refactoring. This was fed back to the ASML team and considered the foundation for future employees continuing our work.

University of Groningen (NL)
Industry, innovation and infrastructure
Openalex Percentile: Top 12%
Scientific Computing and Data Management
1.05
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.