利索能及
我要发布
收藏
专利号: 2020103909670
申请人: 西安邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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则该语句没有包含数据竞争。