Smells in Block-Based Programming Languages

Conference Paper (2016)
Author(s)

Felienne Hermans (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Kathryn Stolee (University of North Carolina)

David Hoepelman (Student TU Delft)

Research Group
Software Engineering
DOI related publication
https://doi.org/10.1109/VLHCC.2016.7739666 Final published version
More Info
expand_more
Publication Year
2016
Language
English
Research Group
Software Engineering
Pages (from-to)
68-72
ISBN (print)
978-1-5090-0253-5
ISBN (electronic)
978-1-5090-0252-8
Event
2016 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2016 (2016-09-04 - 2016-09-08), Cambridge, United Kingdom
Downloads counter
152

Abstract

Code smells were originally designed for object-oriented code, but in recent years, have been applied to end-user languages, including spreadsheets and Yahoo! Pipes. In this paper, we explore code smells in block-based end-user programming languages aimed at education. Specifically, we explore the occurrence of smells in two educational languages not previously targeted by smell detection and refactoring research: LEGO MINDSTORMS EV3 and Microsoft's Kodu. The results of this exploration show that object-oriented-inspired smells indeed occur in educational end-user languages and are present in 88% and 93% of the EV3 and Kodu programs, respectively. Most commonly we find that programs are plagued with lazy class, duplication, and dead code smells, with duplication smells being present in nearly two-thirds of programs in both languages.