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

基于深度学习的数据竞争检测方法

  • chap0 Introduction
    • 本文贡献:
    • 原文及笔记下载
  • chap1 DeleRace
    • 1.1 检测框架
    • 1.2 选取实际应用程序
    • 1.3 特征提取
      • 1.3.1 WALA 特征提取操作步骤
      • 1.3.2 数值特征(指令级别)
      • 1.3.3 文本特征(方法级别)
    • 1.4 文本特征向量化
      • 使用 Keras 的嵌入层进行文本特征向量化
    • 1.5 数据均衡分布——过采样
    • 1.6 CNN—LSTM 神经网络
  • chap2 实验结果与分析
    • 2.3 RQ(research question)
    • 2.6 DeleRace检测结果
  • 2.7 与其他深度神经网络方法对比

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方法框架各功能标注如图所示

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

1.2 选取实际应用程序

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

1.3 特征提取

1.3.1 WALA 特征提取操作步骤

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

1.3.2 数值特征(指令级别)

每个访问操作包含4条指令级别的特征.
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第4张图片

1.3.3 文本特征(方法级别)

每个访问操作均包含包名、类名、方法名、变量名等文本特征,其中包名和类名为文件级别的特征,方法名和变量名 为方法级别的特征.
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第5张图片

1.4 文本特征向量化

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

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

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

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

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

如 图3所示
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第6张图片

1.6 CNN—LSTM 神经网络

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

chap2 实验结果与分析

2.3 RQ(research question)

通过回答6个研究问题对 DeleRace 方 法进行评估
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第7张图片

2.6 DeleRace检测结果

RQ2:DeleRace 是否能准确有效地检测出数据竞争?(表7)
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第8张图片

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

RQ3:DeleRace是否优于现有的基于深度学习 的数据竞争检测工具,与其他的深度神经网络相比, DeleRace的表现会如何(表8)
深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)_第9张图片

你可能感兴趣的:(深度学习,数据竞争检测)