多线程数据竞争检测技术研究综述
TP311; 随着多核处理器在现代计算机设备中的流行,在软件中使用多线程程序的频率也随之增加.但多线程程序的不确定性会导致程序在运行过程中出现数据竞争、原子性违背、顺序违背和死锁等并发问题.研究发现,在所有并发缺陷中,数据竞争所占的比例最大,而且大多数原子性违背和顺序违背也是由数据竞争引起的.为解决这一问题,学者们先后提出了相关的检测技术,文中对近年来该领域的研究技术进行了总结.首先,介绍了数据竞争的相关概念和产生原因,以及数据竞争检测的主要思想;然后根据程序是否执行将现有的数据竞争检测技术分为静态分析、动态分析和混合检测技术三大类,归纳分析了每类技术的特点并进行了详细的比较;随后,从程序员角...
Saved in:
Published in | 计算机科学 Vol. 49; no. 6; pp. 89 - 98 |
---|---|
Main Authors | , , , , , , |
Format | Journal Article |
Language | Chinese |
Published |
哈尔滨工程大学计算机科学与技术学院 哈尔滨150001%北京控制与电子技术研究所 北京100038
2022
|
Subjects | |
Online Access | Get full text |
ISSN | 1002-137X |
DOI | 10.11896/jsjkx.210700187 |
Cover
Summary: | TP311; 随着多核处理器在现代计算机设备中的流行,在软件中使用多线程程序的频率也随之增加.但多线程程序的不确定性会导致程序在运行过程中出现数据竞争、原子性违背、顺序违背和死锁等并发问题.研究发现,在所有并发缺陷中,数据竞争所占的比例最大,而且大多数原子性违背和顺序违背也是由数据竞争引起的.为解决这一问题,学者们先后提出了相关的检测技术,文中对近年来该领域的研究技术进行了总结.首先,介绍了数据竞争的相关概念和产生原因,以及数据竞争检测的主要思想;然后根据程序是否执行将现有的数据竞争检测技术分为静态分析、动态分析和混合检测技术三大类,归纳分析了每类技术的特点并进行了详细的比较;随后,从程序员角度阐明了现有检测技术存在的问题;最后,根据发展现状,对该领域的未来发展方向进行了分析与探讨. |
---|---|
ISSN: | 1002-137X |
DOI: | 10.11896/jsjkx.210700187 |