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 条
  • [41] Communicating State Transition Systems for Fine-Grained Concurrent Resources
    Nanevski, Aleksandar
    Ley-Wild, Ruy
    Sergey, Ilya
    Andres Delbianco, Andgerman
    PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 290 - 310
  • [42] Diaframe: Automated Verification of Fine-Grained Concurrent Programs in Iris
    Mulder, Ike
    Krebbers, Robbert
    Geuvers, Herman
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 809 - 824
  • [43] Design and implementation of enterprise systems in fine-grained concurrent computation
    Ohmori, Kenji
    4TH CONFERENCE OF ENTERPRISE INFORMATION SYSTEMS - ALIGNING TECHNOLOGY, ORGANIZATIONS AND PEOPLE (CENTERIS 2012), 2012, 5 : 344 - 353
  • [44] A fine-grained course session recommendation method based on knowledge point pruning
    Yiwen Zhang
    Xiaolan Cao
    Wangjian Li
    Li Zhang
    Scientific Reports, 15 (1)
  • [45] GRAPH FINE-GRAINED CONTRASTIVE REPRESENTATION LEARNING
    Tang, Hui
    Liang, Xun
    Guo, Yuhui
    Zheng, Xiangping
    Wu, Bo
    2022 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), 2022, : 3478 - 3482
  • [46] Fine-grained representation learning in convolutional autoencoders
    Luo, Chang
    Wang, Jie
    JOURNAL OF ELECTRONIC IMAGING, 2016, 25 (02)
  • [47] Representation Learning for Fine-Grained Change Detection
    O'Mahony, Niall
    Campbell, Sean
    Krpalkova, Lenka
    Carvalho, Anderson
    Walsh, Joseph
    Riordan, Daniel
    SENSORS, 2021, 21 (13)
  • [48] Learning Features and Parts for Fine-Grained Recognition
    Krause, Jonathan
    Gebru, Timnit
    Deng, Jia
    Li, Li-Jia
    Li Fei-Fei
    2014 22ND INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR), 2014, : 26 - 33
  • [49] LEARNING TO FOCUS AND DISCRIMINATE FOR FINE-GRAINED CLASSIFICATION
    Feng, Zhicong
    Fu, Keren
    Zhao, Qijun
    2019 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), 2019, : 415 - 419
  • [50] Learning to locate for fine-grained image recognition
    Chen, Jiamin
    Hu, Jianguo
    Li, Shiren
    COMPUTER VISION AND IMAGE UNDERSTANDING, 2021, 206