[发明专利]基于调度序列约简的并行程序测试方法有效
申请号: | 201610390006.3 | 申请日: | 2016-06-03 |
公开(公告)号: | CN106095669B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 巩敦卫;张晨;王子鸣;田甜;姚香娟;党向盈 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江苏省徐州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明研究并行程序的调度序列约简方法,期望基于已有的测试数据集,依约简后的调度序列执行程序,能够覆盖目标语句,从而减少程序执行的代价,提高并行程序测试的效率。所提方法的思想是:首先,基于调度序列与目标语句执行之间的关系,确定影响目标语句的调度序列;然后,根据目标语句执行的情况是否相同,将影响目标语句的调度序列分成若干等价类;最后,针对等价类中每一调度序列,计算两个性能指标值,并选择综合指标值最小的,作为约简之后的调度序列。当需要覆盖目标语句时,基于该调度序列执行被测程序。 | ||
搜索关键词: | 基于 调度 序列 并行 程序 测试 方法 | ||
【主权项】:
影响目标语句的调度序列确定,其特征如下消息传递并行程序包含多个调度序列,但是,并不是每一个调度序列,都影响某一目标语句的执行;为了覆盖该目标语句,寻找影响该目标语句执行的调度序列,是非常必要的;所谓一个调度序列影响某一目标语句的执行,是指至少存在一个程序输入,依该序列调度程序的不同进程,能够执行该目标语句;本发明通过动态执行与静态分析相结合的方法,寻找影响目标语句的调度序列;首先,考虑某一程序输入集合;对于该集合中的某一输入,依次执行该程序的每一调度序列;如果存在某一调度序列,在该输入下能够执行目标语句,那么,该序列即为影响目标语句执行的调度序列;然后,考虑下一调度序列,并记录该序列是否影响目标语句的执行,直到所有的调度序列均被执行为止;对于未影响目标语句执行的调度序列,采用新的程序输入,重复上述过程,直到所有的调度序列均影响目标语句或所有的输入均执行程序为止;由于上述方法通过执行被测程序,寻找期望的调度序列,因此,称该方法为动态法;采用动态法,虽然能够找到一些影响目标语句执行的调度序列,但是,该方法是否有效,与程序输入集合密切相关;如果该集合选取的不合适,那么,将难以找出所有的期望调度序列;此时,需要通过静态分析与目标语句相关的控制语句,以及控制语句与调度序列的关系,以确定某调度序列是否影响目标语句的执行,该方法称为静态法;容易知道,通过动态法,能够减少需要进一步寻找的调度序列,从而在一定程度上减轻了采用静态法导致的分析负担;通过静态法寻找期望的调度序列,能够弥补动态法中由于集合选择不合适导致的调度序列寻找不全的缺陷;这种动态执行与静态分析相结合的方法,有助于寻找所有的影响目标语句执行的调度序列。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610390006.3/,转载请声明来源钻瓜专利网。