Minimal Context-Switching Data Race Detection with Dataflow Tracking  

在线阅读下载全文

作  者:郑龙 李洋 辛杰 刘海峰 郑然 廖小飞 金海 Long Zheng;Yang Li;Jie Xin;Hai-Feng Liu;Ran Zheng;Xiao-Fei Liao;Hai Jin(National Engineering Research Center for Big Data Technology and System,School of Computer Science and Technology Huazhong University of Science and Technology,Wuhan 430074,China;Services Computing Technology and System Laboratory,School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China;Cluster and Grid Computing Laboratory,School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China)

机构地区:[1]National Engineering Research Center for Big Data Technology and System,School of Computer Science and Technology Huazhong University of Science and Technology,Wuhan 430074,China [2]Services Computing Technology and System Laboratory,School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China [3]Cluster and Grid Computing Laboratory,School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,China

出  处:《Journal of Computer Science & Technology》2024年第1期211-226,共16页计算机科学技术学报(英文版)

基  金:This work is supported by the National Key Research and Development Program of China under Grant No.2023YFB4503400;the National Natural Science Foundation of China under Grant Nos.62322205,62072195,and 61825202.

摘  要:Data race is one of the most important concurrent anomalies in multi-threaded programs.Emerging con-straint-based techniques are leveraged into race detection,which is able to find all the races that can be found by any oth-er sound race detector.However,this constraint-based approach has serious limitations on helping programmers analyze and understand data races.First,it may report a large number of false positives due to the unrecognized dataflow propa-gation of the program.Second,it recommends a wide range of thread context switches to schedule the reported race(in-cluding the false one)whenever this race is exposed during the constraint-solving process.This ad hoc recommendation imposes too many context switches,which complicates the data race analysis.To address these two limitations in the state-of-the-art constraint-based race detection,this paper proposes DFTracker,an improved constraint-based race detec-tor to recommend each data race with minimal thread context switches.Specifically,we reduce the false positives by ana-lyzing and tracking the dataflow in the program.By this means,DFTracker thus reduces the unnecessary analysis of false race schedules.We further propose a novel algorithm to recommend an effective race schedule with minimal thread con-text switches for each data race.Our experimental results on the real applications demonstrate that 1)without removing any true data race,DFTracker effectively prunes false positives by 68%in comparison with the state-of-the-art constraint-based race detector;2)DFTracker recommends as low as 2.6-8.3(4.7 on average)thread context switches per data race in the real world,which is 81.6%fewer context switches per data race than the state-of-the-art constraint based race detec-tor.Therefore,DFTracker can be used as an effective tool to understand the data race for programmers.

关 键 词:data race satisfiability modulo theory multi-threaded program dynamic detection 

分 类 号:TP393[自动化与计算机技术—计算机应用技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象