Programming Environments for Blocks Need First-Class Software Refactoring Support A Position Paper

被引:0
|
作者
Techapalokul, Peeratham [1 ]
Tilevich, Eli [1 ]
机构
[1] Virginia Tech, Software Innovat Lab, Blacksburg, VA 24061 USA
关键词
refactoring; metrics; code smells; block-based programming languages; end-user software engineering; computer science curriculum; introductory programming;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:109 / 111
页数:3
相关论文
共 50 条
  • [21] First-Class Effect Reflection for Effect-Guided Programming
    Long, Yuheng
    Liu, Yu David
    Rajan, Hridesh
    ACM SIGPLAN NOTICES, 2016, 51 (10) : 820 - 837
  • [22] First-class artifacts as building blocks for live in-IDE documentation
    Patkar, Nitish
    Chis, Andrei
    Stulova, Nataliia
    Nierstrasz, Oscar
    2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 41 - 45
  • [23] SIMPLY TYPED LAMBDA-CALCULUS WITH FIRST-CLASS ENVIRONMENTS
    NISHIZAKI, SY
    PUBLICATIONS OF THE RESEARCH INSTITUTE FOR MATHEMATICAL SCIENCES, 1994, 30 (06) : 1055 - 1121
  • [24] Software mediators as first-class entities of systems-of-systems software architectures
    Garcés L.
    Oquendo F.
    Nakagawa E.Y.
    Journal of the Brazilian Computer Society, 2019, 25 (01)
  • [25] A new component-oriented programming language with the first-class connector
    Chen, Bo
    Li, ZhouJun
    Chen, HuoWang
    MODULAR PROGRAMMING LANGUAGES, PROCEEDINGS, 2006, 4228 : 271 - 286
  • [26] Building IoT Systems Using Distributed First-Class Reactive Programming
    De Troyer, Christophe
    Nicolay, Jens
    De Meuter, Wolfgang
    2018 16TH IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE (CLOUDCOM 2018), 2018, : 185 - 192
  • [27] Heraclitus: Elevating deltas to be first-class citizens in a database programming language
    Ghandeharizadeh, S
    Hull, R
    Jacobs, D
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 1996, 21 (03): : 370 - 426
  • [28] Overcoming inadequacies in process modelling: The need for decisioning be a first-class citizen
    Oquendo, F
    Papamichail, KN
    Robertson, I
    SOFTWARE PROCESS TECHNOLOGY, 2000, 1780 : 84 - 89
  • [29] A PARALLEL FUNCTIONAL LANGUAGE WITH FIRST-CLASS CONTINUATIONS - PROGRAMMING STYLE AND SEMANTICS
    MOREAU, L
    COMPUTERS AND ARTIFICIAL INTELLIGENCE, 1995, 14 (02): : 173 - 205
  • [30] Systematic Constructi on of Software Architecture Supported by Enhanced First-Class Connectors
    Amirat, Abdelkrim
    Oussalah, Mourad
    INFORMATICA-JOURNAL OF COMPUTING AND INFORMATICS, 2009, 33 (04): : 499 - 509