Improving the Learning of Parallel Programming Using Software Refactoring

被引:4
|
作者
Zhang, Yang [1 ]
机构
[1] Hebei Univ Sci & Technol, Dept Comp, Sch Informat Sci & Engn, Shijiazhuang 050018, Hebei, Peoples R China
关键词
parallel programming; software refactoring; manual refactoring; automated refactoring tools; learning;
D O I
10.1002/cae.21784
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Parallel programming has become increasingly popular in the computer educational field over the past few years. Although parallel programs obtain the short execution time and the high throughput, learning how to write a well-structured and high-performance parallel program is still one of the challenges for most of students. How to let students learn parallel programming well is one of the important tasks that educators should resolve. This paper presents the learning of parallel programming using software refactoring methodologies and tools. Manual and automated refactoring are introduced to show how the learning is improved respectively. With manual refactoring, students learn how to perform the data or task decomposition and how to write a well-structured parallel software via customized programs and some benchmarks in JGF benchmark suite; with automated refactoring, students can transform the parallel parts quickly, and then evaluate the performance of a parallel software. Two automated refactoring tools are developed for educational purposes. Some of the experiences are also shared during conducting the course. (C) 2017 Wiley Periodicals, Inc.
引用
收藏
页码:112 / 119
页数:8
相关论文
共 50 条
  • [1] Improving the Quality of Software by Refactoring
    Kaur, Gurpreet
    Singh, Balraj
    2017 INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND CONTROL SYSTEMS (ICICCS), 2017, : 185 - 191
  • [2] Refactoring software to heterogeneous parallel platforms
    J. Daniel Garcia
    The Journal of Supercomputing, 2019, 75 : 3997 - 4000
  • [3] Refactoring software to heterogeneous parallel platforms
    Daniel Garcia, J.
    JOURNAL OF SUPERCOMPUTING, 2019, 75 (08): : 3997 - 4000
  • [4] Improving usability of software refactoring tools
    Mealy, Erica
    Carrington, David
    Strooper, Paul
    Wyeth, Peta
    2007 AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2007, : 307 - +
  • [5] An Evaluative Study of Software Refactoring in Procedural Programming
    Khanam, Zeba
    Rizvi, S. A. M.
    WORLD CONGRESS ON ENGINEERING AND COMPUTER SCIENCE, WCECS 2013, VOL I, 2013, I : 102 - 107
  • [6] Identifying Refactoring Sequences for Improving Software Maintainability
    Meananeatra, Panita
    2012 PROCEEDINGS OF THE 27TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2012, : 406 - 409
  • [7] Programming Heterogeneous Parallel Machines Using Refactoring and Monte–Carlo Tree Search
    Christopher Brown
    Vladimir Janjic
    M. Goli
    J. McCall
    International Journal of Parallel Programming, 2020, 48 : 583 - 602
  • [8] Software Refactoring Network: An Improved Software Refactoring Prediction Framework Using Hybrid Networking-Based Deep Learning Approach
    Pandiyavathi, T.
    Sivakumar, B.
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2025, 37 (02)
  • [9] Programming Heterogeneous Parallel Machines Using Refactoring and Monte-Carlo Tree Search
    Brown, Christopher
    Janjic, Vladimir
    Goli, M.
    McCall, J.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2020, 48 (04) : 583 - 602
  • [10] Refactoring Techniques for Improving Software Quality: Practitioners' Perspectives
    Almogahed, Abdullah
    Omar, Mazni
    JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGY-MALAYSIA, 2021, 20 (04): : 511 - 539