Refactoring-based learning for fine-grained lock in concurrent programming course

被引:3
|
作者
Zhang, Yang [1 ]
机构
[1] Hebei Univ Sci & Technol, Sch Informat Sci & Engn, Shijiazhuang 050000, Hebei, Peoples R China
关键词
computer education; concurrent programming; fine-grained lock; learning effectiveness; refactoring tools;
D O I
10.1002/cae.22469
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Fine-grained lock is frequently used to mitigate lock contention in the multithreaded program running on a shared-memory multicore processor. However, a concurrent program based on the fine-grained lock is hard to write, especially for beginners in the concurrent programming course. How to help participants learn fine-grained lock has become increasingly important and urgent. To this end, this paper presents a novel refactoring-based approach to enhance the learning effectiveness of fine-grained locks. Two refactoring tools are introduced to provide illustrating examples for participants by converting original coarse-grained locks into fine-grained ones automatically. Learning effectiveness and limitations are discussed when refactoring tools are applied. We evaluate students' outcomes with two benchmarks and compare their performance in Fall 2018 with those in Fall 2019. We also conduct experiments on students' outcomes by dividing them into two groups (A and B) in a controlled classroom where participants in group A learn the fine-grained locks with the help of refactoring tools while those in group B do not access these tools. Evaluation of the results when they have been taught with the refactoring-based approach reveals a significant improvement in the students' learning.
引用
收藏
页码:505 / 516
页数:12
相关论文
共 50 条
  • [1] Automated Refactoring Approach for Fine-grained Lock Based on Pushdown Automaton
    Zhang Y.
    Shao S.
    Zhang D.-W.
    Ruan Jian Xue Bao/Journal of Software, 2021, 32 (12): : 3710 - 3727
  • [2] Consistency Validation Method for Java']Java Fine-Grained Lock Refactoring
    Zhang, Yang
    Li, Chunxia
    Bai, Yu
    IEEE ACCESS, 2021, 9 : 149287 - 149301
  • [3] Fine-grained concurrent completion
    Kirchner, C
    Lynch, C
    Scharff, C
    REWRITING TECHNIQUES AND APPLICATIONS, 1996, 1103 : 3 - 17
  • [4] A Fine-Grained Open Learner Model for an Introductory Programming Course
    Barria-Pineda, Jordan
    Guerra-Hollstein, Julio
    Brusilovsky, Peter
    PROCEEDINGS OF THE 26TH CONFERENCE ON USER MODELING, ADAPTATION AND PERSONALIZATION (UMAP'18), 2018, : 53 - 61
  • [5] Can Abstraction Be Taught? Refactoring-based Abstraction Learning
    Ubayashi, Naoyasu
    Kamei, Yasutaka
    Sato, Ryosuke
    PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2018, : 429 - 437
  • [6] Improve Fine-Grained Feature Learning in Fine-Grained DataSet GAI
    Wang, Hai Peng
    Geng, Zhi Qing
    IEEE ACCESS, 2025, 13 : 12777 - 12788
  • [7] Circumventing Refactoring Masking using Fine-Grained Change Recording
    Soetens, Quinten David
    Perez, Javier
    Demeyer, Serge
    Zaidman, Andy
    14TH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE 2015), 2015, : 9 - 18
  • [8] FGSCM: A Fine-Grained Approach to Transactional Lock Elision
    Sousa, Gustavo
    Baldassin, Alexandro
    2017 29TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 2017, : 113 - 120
  • [9] Mechanized Verification of Fine-Grained Concurrent Programs
    Sergey, Ilya
    Nanevski, Aleksandar
    Banerjee, Anindya
    ACM SIGPLAN NOTICES, 2015, 50 (06) : 77 - 87
  • [10] Concurrent Fine-grained Versioning of UML Models
    De Lucia, Andrea
    Fasano, Fausto
    Scanniello, Giuseppe
    Tortora, Genoveffa
    13TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: CSMR 2009, PROCEEDINGS, 2009, : 89 - +