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 条
  • [31] Changes as First-Class Citizens: A Research Perspective on Modern Software Tooling
    Soetens, Quinten David
    Robbes, Romain
    Demeyer, Serge
    ACM COMPUTING SURVEYS, 2017, 50 (02)
  • [32] Incorporating first-order unification into functional language via first-class environments
    Nishizaki, Shin-Ya
    Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST, 2014, 117 : 9 - 25
  • [33] Netfuzzlib: Adding First-Class Fuzzing Support to Network Protocol Implementations
    Robben, Jeroen
    Vanhoef, Mathy
    COMPUTER SECURITY-ESORICS 2024, PT II, 2024, 14983 : 65 - 84
  • [34] R Melts Brains An IR for First-Class Environments and Lazy Effectful Arguments
    Fluckiger, Olivier
    Chari, Guido
    Jecmen, Jan
    Yee, Ming-Ho
    Hain, Jakob
    Vitek, Jan
    PROCEEDINGS OF THE 15TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON DYNAMIC LANGUAGES (DLS '19), 2019, : 55 - 66
  • [35] Privacy as first-class requirements in software development: A socio-technical approach
    Benbenisty, Yizhaq
    Hadar, Irit
    Luria, Gil
    Spoletini, Paola
    2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1363 - 1367
  • [36] Attribute Grammars Fly First-Class How to do Aspect Oriented Programming in Haskell
    Viera, Marcos
    Swierstra, S. Doaitse
    Swierstra, Wouter
    ICFP'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2009, : 245 - 256
  • [37] Attribute Grammars Fly First-Class How to do Aspect Oriented Programming in Haskell
    Viera, Marcos
    Swierstra, S. Doaitse
    Swierstra, Wouter
    ACM SIGPLAN NOTICES, 2009, 44 (8-9) : 245 - 256
  • [38] Smart environments: Middleware building blocks for pervasive network computing (A position paper)
    Weissman, J
    Zhang, ZL
    DEVELOPING AND INFRASTRUCTURE FOR MOBILE AND WIRELESS SYSTEMS, 2002, 2538 : 90 - 105
  • [39] Research on the Curriculum System of Software Engineering under the Background of “Double First-Class” Construction
    Bo Liu
    Qing Zhu
    Hongli Chen
    Jidong Zhang
    计算机教育, 2020, (12) : 126 - 133
  • [40] A generic programming toolkit for PADS/ML:: First-class upgrades for third-party developers
    Fernandez, Mary
    Fisher, Kathleen
    Foster, J. Nathan
    Greenberg, Michael
    Mandelbaum, Yitzhak
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS, 2008, 4902 : 133 - 149