[发明专利]基于Adaboost模型的并发程序数据竞争语句级检测方法有效
| 申请号: | 202010390967.0 | 申请日: | 2020-05-11 |
| 公开(公告)号: | CN111563045B | 公开(公告)日: | 2022-11-01 |
| 发明(设计)人: | 孙家泽;易刚;王曙燕 | 申请(专利权)人: | 西安邮电大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 710121 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 adaboost 模型 并发 程序 数据 竞争 语句 检测 方法 | ||
1.基于Adaboost模型的并发程序数据竞争语句级检测方法,其特征在于包括以下步骤:
(1)利用二进制插桩工具Pin对并发程序进行动态插桩,记录各个程序指令的线程ID,指令访问的内存地址,指令的读写操作,指令的锁集;以及由各个线程的向量时钟所组成的向量时钟矩阵的更新过程;
(2)剔除掉无对应原码的指令以及来自同一条语句的指令,每一条语句仅保留一条指令,实现指令的语句级转化;
(3)提取并发程序的如下五个特征属性:1)Pm:语句对中两条语句访问的内存地址是否一致,不一致为0,一致为1;2)Po:若两条语句中至少有一条为写操作则为1,否则为0;3)Pv:两条语句的向量时钟是否满足偏序关系,不满足为1,满足为0;4)Pl:如果两条语句没有受到同一个锁保护则为1,否则为0;5)Pr:是否包含数据竞争,如果该语句对发生数据竞争则为1,否则为0;
(4)对于并发程序训练样本集中的各个并发程序,以Pm,Po,Pv,Pl四个特征为特征属性,Pr为类标号属性,以此特征属性数据建立并发程序数据竞争语句级检测Adaboost模型,具体过程如下:
(4.1)设定迭代次数m,m=1,2,.,M,初始化m=1,初始化训练样本的权重:
其中ωmi表示第m次迭代时训练样本xi的权重,训练样本总数为N,迭代总次数为M;
(4.2)按照第m次迭代时训练样本权重Dm得到第m个基学习器Gm(x):
Gm(x):X→{0,1}
其中x是基学习器的输入样本,其四个特征属性值为(Pm,Po,Pv,Pl),X为样本x的预测结果Pr,值域为{0,1};
(4.3)计算基学习器Gm(x)在训练样本集上的分类误差率em以及基学习器Gm(x)在最终分类器中的权重系数αm:
其中表示基学习器Gm(x)中输入样本xi被分类错误的概率,yi为xi的正确分类结果;
(4.4)更新训练集中样本的权重:
Dm+1=(ωm+1,1,ωm+1,2,...,ωm+1,N)
其中Dm+1表示第m+1次迭代时的样本权重集合,wm+1,i表示第m+1次迭代时的样本i的权重,Zm是规范化因子;
如果m<M,则令m=m+1,返回步骤(4.2),否则,进入步骤(4.5);
(4.5)构建最终的分类器线性组合f(x):
(4.6)最终的Adaboost分类器模型G(x):
其中sign(f(x))表示对f(x)进行{0,1}符号转化,如果f(x)>0,则sign(f(x))=1,f(x)≤0,则sign(f(x))=0;
(5)将被测并发程序提取的Pm,Po,Pv,Pl四个特征输入步骤(4)建立的Adaboost分类器模型,输出为1则该语句包含有数据竞争,输出为0则该语句没有包含数据竞争。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010390967.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种避免磕损的智能物流分发装置
- 下一篇:一种生物质颗粒机压辊调节机构





