Author Login Editor-in-Chief Peer Review Editor Work Office Work

Computer Engineering ›› 2021, Vol. 47 ›› Issue (12): 215-220. doi: 10.19678/j.issn.1000-3428.0059734

• Computer Architecture and Software Technology • Previous Articles     Next Articles

Data Race Statement Level Detection in Concurrent Programs Based on Adaboost Model

SUN Jiaze1,2, YI Gang1, SHU Xinfeng1,2   

  1. 1. School of Computer Science and Technology, Xi'an University of Posts and Telecommunications, Xi'an 710121, China;
    2. Shaanxi Key Laboratory of Network Data Analysis and Intelligent Processing, Xi'an University of Posts and Telecommunications, Xi'an 710121, China
  • Received:2020-10-15 Revised:2020-12-15 Published:2020-12-28

基于Adaboost模型的并发程序数据竞争语句级检测

孙家泽1,2, 易刚1, 舒新峰1,2   

  1. 1. 西安邮电大学 计算机学院, 西安 710121;
    2. 西安邮电大学 陕西省网络数据分析与智能处理重点实验室, 西安 710121
  • 作者简介:孙家泽(1980-),男,教授、博士,主研方向为群聚智能算法、数据分析;易刚,硕士研究生;舒新峰,副教授、博士。
  • 基金资助:
    陕西省重点研发计划项目(2020GY-010);西安市产业研究项目(2019218114GXRC017CG018-GXYD17.10);西安邮电大学研究生创新基金(CXJJLY2019051)。

Abstract: To address the low accuracy and high overhead in the data race detection for concurrent programs, a statement-level method for detecting the data race of concurrent programs is designed based on the Adaboost model.The multi-threaded concurrent program is inserted, and the relevant memory information of instructions is recorded.Then the extracted instruction set is transformed at the statement level.On this basis, the model for detecting the data race of concurrent programs is constructed from the relevant attribute characteristics of statements to realize the tool, ADR, for detecting the data race of multi-threaded programs.The experimental results show that compared with Eraser, Djit+ and Thread Sanitizer tools, ADR can effectively improve the classification accuracy while reducing the time and memory overhead.The effectiveness of the proposed method is verified.

Key words: data race, concurrent program, program instrumentation, Adaboost model, statement level

摘要: 针对并发程序数据竞争检测时准确率低和开销大的问题,基于Adaboost模型设计并发程序数据竞争语句级检测方法。对多线程并发程序进行插桩操作,记录指令的相关内存信息,并对提取出的指令集做语句级转化处理,利用语句对相关属性特征构建并发程序Adaboost数据竞争检测模型,实现多线程程序数据竞争检测工具ADR。实验结果表明,相比于Eraser、Djit+和Thread Sanitizer工具,ADR能够在降低时间及内存开销的同时,有效提高分类准确率,验证了所提方法的有效性。

关键词: 数据竞争, 并发程序, 程序插桩, Adaboost模型, 语句级

CLC Number: