[发明专利]基于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则该语句没有包含数据竞争。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010390967.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top