Mind the Gap: Linking Refactorings and Code Smells in Elixir
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.
Authors
- Lucas Vegi
- Marco Túlio Valente
Institutions
- Universidade Federal de Minas Gerais (BR)
- Universidade Federal de Viçosa (BR)
Publication Details
- Journal
- Journal of Software Evolution and Process
- Published
- 2026-05-01
- DOI
- https://doi.org/10.1002/smr.70113
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00