Magic Literals in Pharo - Archive ouverte HAL Access content directly
Conference Papers Year :

Magic Literals in Pharo

(1) , (1) , (1)


Literals are constant values (numbers, strings, etc.) used in the source code. Magic literals are the ones used without a clear explanation of their meaning. Presence of such literals harms source code readability, decreases its modularity, and encourages code duplication. Identifying magic literals is not straightforward. A literal can be considered self-explanatory in one context and magic in another. We need a heuristic to help developers spot magic literals. In this article, we study and characterize the literals in Pharo. We implemented a heuristic to detect magic literals and integrated it as a code critic rule for System Browser and Critics Browser in Pharo 7. We run our heuristic on 112,500 Pharo methods which reported 23,292 magic literals spread across 8,986 methods. We manually validated our approach on a random subset of 100 methods and found that 62% of the reported literals in those methods are indeed magic.
Fichier principal
Vignette du fichier
main.pdf (507.79 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-02266137 , version 1 (13-08-2019)


  • HAL Id : hal-02266137 , version 1


Julien Delplanque, Stéphane Ducasse, Oleksandr Zaitsev. Magic Literals in Pharo. IWST19 - International Workshop on Smalltalk Technologies, Aug 2019, Köln, Germany. ⟨hal-02266137⟩
202 View
427 Download


Gmail Facebook Twitter LinkedIn More