[发明专利]一种并发程序噪声注入方法有效
| 申请号: | 201910347672.2 | 申请日: | 2019-04-28 | 
| 公开(公告)号: | CN110083538B | 公开(公告)日: | 2022-09-30 | 
| 发明(设计)人: | 孙家泽;王丹;阳伽伟 | 申请(专利权)人: | 西安邮电大学 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 | 
| 地址: | 710121 陕西*** | 国省代码: | 陕西;61 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | 本发明针对并发程序测试中交织覆盖难问题,公开了一种并发程序噪声注入方法,属于并发程序测试领域。首先对被测并发程序运行时各共享变量被访问次数进行统计,根据访问次数由高到低对共享变量进行排序;然后按照次序由高到低依次对每一个共享变量相关的事件计算出插入噪声的概率;最后在每个事件上以不同概率插入噪声,用测试用例执行程序,直到不再出现新的并发交织。本发明提供了一种并发程序噪声注入方法,能够有效地增加并发程序测试中并发交织数量,提高测试效率。 | ||
| 搜索关键词: | 一种 并发 程序 噪声 注入 方法 | ||
【主权项】:
                1.一种并发程序噪声注入方法,其特征在于包括以下几个步骤:步骤一:针对一个待测的并发程序P,假设程序P中有m个共享变量,执行测试用例集运行待测程序P,统计程序P运行过程中各个共享变量被访问的次数,根据各共享变量被访问的次数由高到低对共享变量进行排序:v1,v2,...,vm,其中v1为被访问次数最多的共享变量,vm为被访问次数最少的共享变量,i为1到m之间的任意一个整数值,vi表示程序P运行过程中各共享变量根据被访问次数由高到低排序后排名第i的共享变量;步骤二:访问共享变量的每个程序位置称作一个事件,假设被测程序P中与共享变量vi(1<=i<=m)相关的事件有n个:li1,li2,...,lij,...,lin,其中li1为与共享变量vi相关的第1个事件,lij为与共享变量vi相关的第j个事件,lin为与共享变量vi相关的第n个事件,j为1到n之间的任意一个整数值,令i=1,令j=1;步骤三:针对被测程序P中与共享变量vi(1<=i<=m)相关的n个事件li1,li2,...,lij,...,lin,每一个事件都计算该事件注入噪声的概率:(1)针对每一个事件lij(1<=j<=n),确定考查因子k,k值的选取方法为:当1<=n<=3时,令k=1;当3<n<=10时,令k=2;当10<n<=30时,令k=3;当30<n<=100时,令k=4;当n>100时,令k=5;生成一个0‑1000之间的随机数r,在事件lij和随机选取其他k‑1个事件后插入噪声语句Thread.sleep(r),执行测试用例集重复运行程序w次,一般情况下令w=100,统计程序在运行过程中出现新的线程交织的次数c,进而得出事件lij增加并发交织的概率pij=c/w;(2)根据事件lij增加并发交织的概率pij,确定在事件lij处插入噪声的概率fij:当pij>=0.2时,令fij=1;当0.15<=pij<0.2时,令fij=0.9;当0.1<=pij<0.15时,令fij=0.7;当0.05<=pij<0.1时,令fij=0.5;当0<pij<0.1时,令fij=0.3;当pij=0时,令fij=0;步骤四:根据上述步骤三得到的噪声注入结果,在与共享变量vi相关的n个事件li1,li2,...,lij,...,lin上分别以fi1,fi2,...,fij,...,fin的概率插入噪声:生成一个0‑100之间的随机数r1,生成一个0‑1000之间的随机数r2,如果r1<=fij*100,在事件lij后插入噪声语句Thread.sleep(r2);步骤五:针对每一个共享变量vi,执行测试用例集,若![]() 即有新的并发交织出现,且i<m,令i=i+1,重复上述步骤三、步骤四;否则结束整个步骤,完成本方法。
即有新的并发交织出现,且i<m,令i=i+1,重复上述步骤三、步骤四;否则结束整个步骤,完成本方法。
            
                    下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
                
                
            该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910347672.2/,转载请声明来源钻瓜专利网。
- 上一篇:手机APP端口测试的方法及系统
- 下一篇:一种数据竞争检测方法及装置





