1. Programming environments for blocks need first-class software refactoring support: A position paper
- Author
-
Eli Tilevich and Peeratham Techapalokul
- Subjects
business.industry ,Programming language ,Computer science ,Computer programming ,Software development ,Code smell ,computer.software_genre ,Continuous design ,Software framework ,Code refactoring ,Software construction ,business ,Software engineering ,computer ,Codebase - Abstract
Block-based programming languages and their development environments have become a widely used educational platform for novices to learn how to program. In addition, these languages and environments have been increasingly embraced by domain experts to develop end-user software. Though popular for having a "low floor" (easy to get started), programs written in block-based languages often become unwieldy as projects grow progressively more complex. Software refactoring — improving the design quality of a codebase while preserving its external functionality — has been shown highly effective as a means of improving the quality of software written in text-based languages. Unfortunately, programming environments for blocks lack systematic software refactoring support. In this position paper, we argue that first-class software refactoring support must become an essential feature in programming environments for blocks; we present our research vision and concrete research directions, including program analysis to detect "code smells," automated transformations for block-based programs to support common refactoring techniques, and integration of refactoring into introductory computing curricula.
- Published
- 2015