多线程数据竞争检测技术研究综述

TP311; 随着多核处理器在现代计算机设备中的流行,在软件中使用多线程程序的频率也随之增加.但多线程程序的不确定性会导致程序在运行过程中出现数据竞争、原子性违背、顺序违背和死锁等并发问题.研究发现,在所有并发缺陷中,数据竞争所占的比例最大,而且大多数原子性违背和顺序违背也是由数据竞争引起的.为解决这一问题,学者们先后提出了相关的检测技术,文中对近年来该领域的研究技术进行了总结.首先,介绍了数据竞争的相关概念和产生原因,以及数据竞争检测的主要思想;然后根据程序是否执行将现有的数据竞争检测技术分为静态分析、动态分析和混合检测技术三大类,归纳分析了每类技术的特点并进行了详细的比较;随后,从程序员角...

Full description

Saved in:
Bibliographic Details
Published in计算机科学 Vol. 49; no. 6; pp. 89 - 98
Main Authors 赵静文, 付岩, 吴艳霞, 陈俊文, 冯云, 董继斌, 刘嘉琪
Format Journal Article
LanguageChinese
Published 哈尔滨工程大学计算机科学与技术学院 哈尔滨150001%北京控制与电子技术研究所 北京100038 2022
Subjects
Online AccessGet full text
ISSN1002-137X
DOI10.11896/jsjkx.210700187

Cover

More Information
Summary:TP311; 随着多核处理器在现代计算机设备中的流行,在软件中使用多线程程序的频率也随之增加.但多线程程序的不确定性会导致程序在运行过程中出现数据竞争、原子性违背、顺序违背和死锁等并发问题.研究发现,在所有并发缺陷中,数据竞争所占的比例最大,而且大多数原子性违背和顺序违背也是由数据竞争引起的.为解决这一问题,学者们先后提出了相关的检测技术,文中对近年来该领域的研究技术进行了总结.首先,介绍了数据竞争的相关概念和产生原因,以及数据竞争检测的主要思想;然后根据程序是否执行将现有的数据竞争检测技术分为静态分析、动态分析和混合检测技术三大类,归纳分析了每类技术的特点并进行了详细的比较;随后,从程序员角度阐明了现有检测技术存在的问题;最后,根据发展现状,对该领域的未来发展方向进行了分析与探讨.
ISSN:1002-137X
DOI:10.11896/jsjkx.210700187