Mind the Gap: Linking Refactorings and Code Smells in Elixir.

Saved in:
Bibliographic Details
Title: Mind the Gap: Linking Refactorings and Code Smells in Elixir.
Authors: Vegi, Lucas1 (AUTHOR) lucas.vegi@ufv.br, Valente, Marco Túlio2 (AUTHOR)
Source: Journal of Software: Evolution & Process. May2026, Vol. 38 Issue 5, p1-31. 31p.
Subjects: Software refactoring, Functional programming (Computer science), Maintainability (Engineering), Software maintenance, Computer software, Programming languages, Software engineering
Abstract: Elixir is a functional programming language increasingly used in the industry to develop scalable and fault‐tolerant concurrent systems more easily and with fewer computational resources. In previous studies, we cataloged 35 code smells and 82 refactorings tailored for this language, validating them with over 300 experienced developers worldwide. Aiming to complement the results of these previous studies, this work manually compares each code smell for Elixir with all the cataloged refactorings for the language, proposing practical guidelines for removing code smells in a disciplined manner within this specific context. In total, we mapped 176 relationships between all 35 code smells and 70 corresponding refactorings that can aid in their elimination. Additionally, we identified five new composite refactorings and found evidence suggesting the existence of an uncataloged code smell for Elixir. Our results were validated through a survey conducted with 10 experienced Elixir developers and have practical implications for how code smells can be removed in this language. [ABSTRACT FROM AUTHOR]
Copyright of Journal of Software: Evolution & Process is the property of Wiley-Blackwell and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Description
Abstract:Elixir is a functional programming language increasingly used in the industry to develop scalable and fault‐tolerant concurrent systems more easily and with fewer computational resources. In previous studies, we cataloged 35 code smells and 82 refactorings tailored for this language, validating them with over 300 experienced developers worldwide. Aiming to complement the results of these previous studies, this work manually compares each code smell for Elixir with all the cataloged refactorings for the language, proposing practical guidelines for removing code smells in a disciplined manner within this specific context. In total, we mapped 176 relationships between all 35 code smells and 70 corresponding refactorings that can aid in their elimination. Additionally, we identified five new composite refactorings and found evidence suggesting the existence of an uncataloged code smell for Elixir. Our results were validated through a survey conducted with 10 experienced Elixir developers and have practical implications for how code smells can be removed in this language. [ABSTRACT FROM AUTHOR]
ISSN:20477473
DOI:10.1002/smr.70113