Code Smells in Elixir: Early Results from a Grey Literature Review

Elixir is a new functional programming language whose popularity is rising in the industry. However, there are few works in the literature focused on studying the internal quality of systems implemented in this language. Particularly, to the best of our knowledge, there is currently no catalog of code smells for Elixir. Therefore, in this paper, through a grey literature review, we investigate whether Elixir developers discuss code smells. Our preliminary results indicate that 11 of the 22 traditional code smells cataloged by Fowler and Beck are discussed by Elixir developers. We also propose a list of 18 new smells specific for Elixir systems and investigate whether these smells are currently identified by Credo, a well-known static code analysis tool for Elixir. We conclude that only two traditional code smells and one Elixir-specific code smell are automatically detected by this tool. Thus, these early results represent an opportunity for extending tools such as Credo to detect code smells and then contribute to improving the internal quality of Elixir systems.


page 1

page 2

page 3

page 4


A Survey of Software Code Review Practices in Brazil

Context: Software code review aims to early find code anomalies and to p...

How do Developers Improve Code Readability? An Empirical Study of Pull Requests

Readability models and tools have been proposed to measure the effort to...

Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects

The phenomenon of architecture erosion can negatively impact the mainten...

Studying Duplicate Logging Statements and Their Relationships with Code Clones

In this paper, we focus on studying duplicate logging statements, which ...

Modelling a CubeSat-based Space Mission and its Operation

Since the early 2000' years, the CubeSats have been growing and getting ...

Empirical Analysis on Effectiveness of NLP Methods for Predicting Code Smell

A code smell is a surface indicator of an inherent problem in the system...

Using SEQUAL for Identifying Requirements to Ecore Editors

Software engineers who use Model-Driven Development may be using Ecore f...

Please sign up or login with your details

Forgot password? Click here to reset