深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)

chap0 Introduction

数据竞争是指2个或多个线程同时访问1个 内存位置并且至少有1个线程执行写操作.
DeleRace(deep-learning-based data race detection):首先使用工具 WALA 从多个实际应用程序中中提取指令、方法和文件级别中多个代码特征,对其向量化 并构造训练样本数据;;然后通过ConRacer 工具对真实数据竞争进行判定进而标记样本数据,并采用SMOTE 增强算法使正负数据样本分布均衡化;最后** 构建 CNN-LSTM 的深度神经网络 **,加以训练构建分类器,进而实现对数据竞争的检测。

本文贡献:

1)构建数据集用了26个不同领域的实际应用程序
2)提出一种适合数据竞争检测的深度学习模 型DeleRace
3)验证了DeleRace 的有效性.

原文及笔记下载

点击下载

chap1 DeleRace

1.1 检测框架

DeleRace方法框架各功能标注如图所示

在这里插入图片描述

1.2 选取实际应用程序

从 DaCapo[20] ,JGF[21] ,IBM Contest[22] ,PJBench[23] 四 个基准测试程序套件中选取26个含有数据竞争的并发程序

1.3 特征提取

1.3.1 WALA 特征提取操作步骤

在这里插入图片描述
在这里插入图片描述

1.3.2 数值特征(指令级别)

每个访问操作包含4条指令级别的特征.
在这里插入图片描述

1.3.3 文本特征(方法级别)

每个访问操作均包含包名、类名、方法名、变量名等文本特征,其中包名和类名为文件级别的特征,方法名和变量名 为方法级别的特征.
在这里插入图片描述

1.4 文本特征向量化

使用 Keras 的嵌入层进行文本特征向量化

1)首先将单词表中的单词进行词 频统计并进行整数编码;
2)然后将每个单词的编码M经过嵌入层处 理后映射为一个8维向量;
3)对嵌入层进行训练并更新权重;
4)最后得到一个真正可以代表每个单词的数值向量

1.5 数据均衡分布——过采样

SMOTE:其基本思想是对少数类样本进行分析,并根据 少数类样本合成新样本,然后添加到数据集中。

  • 这里先选定一个正样本,找出这个正样本
    的K近邻(假设K=4),随机从K个近邻中选择一
    个样本,在正样本和被选出的近邻样本的连线上随
    机找一个点,这个点就是我们生成的新的正样本,一
    直重复这个过程,直到正样本和负样本数量均衡.通
    过SMOTE算法,将原有的12 836条训练样本扩充
    到25 438条,从而使正样本和负样本的数据样本数
    量达到了均衡.

如 图3所示
在这里插入图片描述

1.6 CNN—LSTM 神经网络

训练网络时,首先将每对访问操作的特征信息 输入到CNN-LSTM 神经网络中;,每个卷积层后都有一个最大池化 层来降低特征维数,避免过拟合.函数Concatenate 把CNN输出的卷积特征和LSTM 提取的时序 特征融合到另一个全连接层进行二分类,并通过 Dropout方法来防止过拟合,最终输出测试程序中 含有数据竞争的个数.

chap2 实验结果与分析

2.3 RQ(research question)

通过回答6个研究问题对 DeleRace 方 法进行评估
在这里插入图片描述

2.6 DeleRace检测结果

RQ2:DeleRace 是否能准确有效地检测出数据竞争?(表7)
在这里插入图片描述

2.7 与其他深度神经网络方法对比

RQ3:DeleRace是否优于现有的基于深度学习 的数据竞争检测工具,与其他的深度神经网络相比, DeleRace的表现会如何(表8)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值