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 条
  • [31] The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring
    Aniche, Mauricio
    Maziero, Erick
    Durelli, Rafael
    Durelli, Vinicius H. S.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (04) : 1432 - 1450
  • [32] Learning Parallel Programming Through Programming Challenges
    Martins, Guilherme
    Lopes de Souza, Paulo Sergio
    Conte, Davi Jose
    Bruschi, Sarita Mazzini
    2020 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2020), 2020,
  • [33] A survey of software refactoring
    Mens, T
    Tourwé, T
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (02) : 126 - 139
  • [34] Refactoring for software migration
    Mancl, D
    IEEE COMMUNICATIONS MAGAZINE, 2001, 39 (10) : 88 - 93
  • [35] Software Refactoring Prediction Using SVM and Optimization Algorithms
    Akour, Mohammed
    Alenezi, Mamdouh
    Alsghaier, Hiba
    PROCESSES, 2022, 10 (08)
  • [36] Experimental assessment of software metrics using automated refactoring
    Cinnéide, Mel Ó.
    Tratt, Laurence
    Harman, Mark
    Counsell, Steve
    Moghadam, Iman Hemati
    International Symposium on Empirical Software Engineering and Measurement, 2012, : 49 - 58
  • [37] Software refactoring at the package level using clustering techniques
    Alkhalid, A.
    Alshayeb, M.
    Mahmoud, A.
    IET SOFTWARE, 2011, 5 (03) : 274 - 286
  • [38] Using Structural and Semantic Information to Support Software Refactoring
    Bavota, Gabriele
    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2012, : 1479 - 1482
  • [39] Experimental Assessment of Software Metrics Using Automated Refactoring
    Cinneide, Mel O.
    Tratt, Laurence
    Harman, Mark
    Counsell, Steve
    Moghadam, Iman Hemati
    PROCEEDINGS OF THE ACM-IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM'12), 2012, : 49 - 58
  • [40] Software Refactoring at the Class Level using Clustering Techniques
    Alkhalid, Abdulaziz
    Alshayeb, Mohammad
    Mahmoud, Sabri A.
    JOURNAL OF RESEARCH AND PRACTICE IN INFORMATION TECHNOLOGY, 2011, 43 (04): : 285 - 306