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.
Original language | English |
---|---|
Title of host publication | 2024 IEEE International Conference on Software Maintenance and Evolution (ICSME) |
Publisher | IEEE |
Pages | 753-764 |
Number of pages | 12 |
ISBN (Electronic) | 9798350395686 |
DOIs | |
Publication status | Published - 19-Dec-2024 |
Event | 40th IEEE International Conference on Software Maintenance and Evolution, ICSME 2024 - Flagstaff, United States Duration: 6-Oct-2024 → 11-Oct-2024 |
Conference
Conference | 40th IEEE International Conference on Software Maintenance and Evolution, ICSME 2024 |
---|---|
Country/Territory | United States |
City | Flagstaff |
Period | 06/10/2024 → 11/10/2024 |
Keywords
- Industrial experience
- Legacy code
- Refactoring
- SOLID principles