首页 | 本学科首页   官方微博 | 高级检索  
     检索      

多线程程序数据竞争随机森林指令级检测模型
引用本文:孙家泽,阳伽伟,杨子江.多线程程序数据竞争随机森林指令级检测模型[J].清华大学学报(自然科学版),2020,60(10):804-813.
作者姓名:孙家泽  阳伽伟  杨子江
作者单位:西安邮电大学计算机学院,西安710121,中国;西安邮电大学陕西省网络数据分析与智能处理重点实验室,西安710121,中国;西安邮电大学计算机学院,西安710121,中国;西密歇根大学计算机系,卡拉马祖49008-5466,美国
基金项目:国家自然科学基金;陕西省工业项目;创新基金;陕西省普通高等学校重点学科建设专项
摘    要:数据竞争是典型的多线程程序并发缺陷。由于多线程程序中存在不确定性的交织,数据竞争很难被检测出来。该文以多线程数据竞争的5个相关属性作为特征,构建了多线程程序数据竞争随机森林指令级检测模型。首先基于happens-before关系与lockset算法指令级检测数据竞争,同时用汇编源码信息来剔除隐形同步对,然后利用happens-before关系与lockset算法的分析结果训练多线程程序数据竞争随机森林检测模型。在Pin上实现了多线程程序数据竞争检测工具AIRaceTest。利用GitHub中多线程程序的插桩结果作为样本集来训练随机森林模型,模型精度可达92.1%。对Google data-race-test、 Parsec基准程序3.1中的经典多线程程序的检测结果表明:AIRaceTest与Eraser、 Djit+以及Thread Sanitizer这3种目前常用的数据竞争检测工具相比,数据竞争的误报和漏报分别降低了约10.6%和12.3%,在线程数较多的情况下,时间和内存开销分别降低了41.8%和22.4%。

关 键 词:数据竞争  并发缺陷  随机森林  隐形同步对
本文献已被 CNKI 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号