Abstract
In this paper we explore the possibilities of refactoring code in Whitespace, a programming language which only recognises whitespace characters as code, and tolerates textual comments that describe the program. The paper presents a list of possible refactorings applicable to Whitespace, and describes a tool that automates some of these refactorings. The functionality of the tool is demonstrated with concrete examples. Refactoring is a important systematic process of improving code without creating new functionality, improving long-termproperties of the code such as readability, maintainability, changeability, testability, extendability and safety. We argue that,despite the lack of real-life applications for Whitespace specifically, it is beneficial to apply refactoring methodology to it,since lessons learnt from esoteric languages can be ported elsewhere — in this case, to assemblers and similarly restrictive software languages.
| Original language | English |
|---|---|
| Title of host publication | SATToSE’23 |
| Subtitle of host publication | Post-proceedings of the 15th Seminar on Advanced Techniques and Tools for Software Evolution, June 2023, Fisciano, Italy |
| Editors | Andrea De Lucia, Dario Di Nucci, Valeria Pontillo, Gilberto Recupito |
| Publisher | CEUR |
| Pages | 19-30 |
| Number of pages | 11 |
| Publication status | Published - 12 Sept 2023 |
| Event | 15th Seminar on Advanced Techniques and Tools for Software Evolution, SATToSE 2023 - University of Salerno, Computer Science Department, Fisciano, Italy Duration: 12 Jun 2023 → 14 Jun 2023 Conference number: 15 |
Publication series
| Name | CEUR Workshop Proceedings |
|---|---|
| Publisher | CEUR |
| Volume | 3483 |
| ISSN (Electronic) | 1613-0073 |
Conference
| Conference | 15th Seminar on Advanced Techniques and Tools for Software Evolution, SATToSE 2023 |
|---|---|
| Abbreviated title | SATToSE 2023 |
| Country/Territory | Italy |
| City | Fisciano |
| Period | 12/06/23 → 14/06/23 |
Keywords
- Whitespace
- Program refactoring
- Esoteric languages
- Second generation languages