节点文献
多线程数据竞争检测技术研究综述
Survey on Multithreaded Data Race Detection Techniques
【摘要】 随着多核处理器在现代计算机设备中的流行,在软件中使用多线程程序的频率也随之增加。但多线程程序的不确定性会导致程序在运行过程中出现数据竞争、原子性违背、顺序违背和死锁等并发问题。研究发现,在所有并发缺陷中,数据竞争所占的比例最大,而且大多数原子性违背和顺序违背也是由数据竞争引起的。为解决这一问题,学者们先后提出了相关的检测技术,文中对近年来该领域的研究技术进行了总结。首先,介绍了数据竞争的相关概念和产生原因,以及数据竞争检测的主要思想;然后根据程序是否执行将现有的数据竞争检测技术分为静态分析、动态分析和混合检测技术三大类,归纳分析了每类技术的特点并进行了详细的比较;随后,从程序员角度阐明了现有检测技术存在的问题;最后,根据发展现状,对该领域的未来发展方向进行了分析与探讨。
【Abstract】 Nowadays the multi-core processors and threaded parallel programs are increasingly more used.However, the uncertainty of multi-threaded program leads to concurrency problems such as data race, atomicity violation, order violation and deadlock in the process of program running.Recent researches show that data race accounts for the largest proportion of concurrency bug, and most atomicity violation and order violation are caused by data race.This paper summarizes the related detection techniques in recent years.Firstly, the related concepts, causes, and the main ideas of data race detection are introduced.Then, the existing data race detection techniques in multi-threaded program are classified into three types: static analysis, dynamic analysis and hybrid detection techniques, and their characteristics are summarized comprehensively and compared in detail.Next, the limitations of exis-ting data race detection tools are discussed.Finally, future research directions and challenges in this field are discussed.
【Key words】 Data race; Concurrency bug; Detection techniques; Static analysis; Dynamic analysis;
- 【文献出处】 计算机科学 ,Computer Science , 编辑部邮箱 ,2022年06期
- 【分类号】TP332
- 【被引频次】1
- 【下载频次】111