TY - GEN
T1 - Smells in block-based programming languages
AU - Hermans, Felienne
AU - Stolee, Kathryn T.
AU - Hoepelman, David
PY - 2016/11/8
Y1 - 2016/11/8
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85000415079&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85000415079&partnerID=8YFLogxK
U2 - 10.1109/VLHCC.2016.7739666
DO - 10.1109/VLHCC.2016.7739666
M3 - Conference contribution
AN - SCOPUS:85000415079
T3 - Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC
SP - 68
EP - 72
BT - 2016 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2016
A2 - Blackwell, Alan
A2 - Plimmer, Beryl
A2 - Stapleton, Gem
PB - IEEE Computer Society
T2 - 2016 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2016
Y2 - 4 September 2016 through 8 September 2016
ER -