Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于精化约束重用的并行程序增量式回归验证方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国人民解放军国防科技大学

摘要:本发明公开了一种基于精化约束重用的并行程序增量式回归验证方法,本发明方法包括在针对当前程序版本Mi进行基于精化约束抽象精化的并行程序验证时,每执行一轮验证过程中的迭代,则针对当前程序版本Mi对应的程序抽象的事件顺序图中的环生成关键源并记录到关键源库中,对关键源库进行关键源有效性判定,分别对各个有效关键源通过精化约束适配生成精化约束以参与下一轮验证过程中的迭代。本发明基于现有基于调度约束抽象精化的并行程序验证方法实现了增量式回归验证技术,通过精确计算代码修改对精化约束的影响和开展精化约束的适配,可实现对前面程序版本验证中的精化约束进行重用,从而有效提高代码演化环境下并行程序的回归验证效率。

主权项:1.一种基于精化约束重用的并行程序增量式回归验证方法,其特征在于包括:S1,在针对当前程序版本Mi的抽象后程序进行的基于调度约束抽象精化的并行程序验证时,每执行一轮验证过程中的迭代,则针对当前程序版本Mi对应的程序抽象的事件顺序图中的环生成对应的关键源并记录到关键源库中,跳转下一步;其中,环由边连接组成,环的关键源由组成该环的边的关键源构成,环中的每条边表示程序抽象中的一个读写顺序关系、或程序顺序关系、或是由两者推导出来的一个新的顺序关系;S2,针对目标并行程序给定的当前程序版本Mi,对关键源库中的关键源进行关键源有效性判定,确定当前程序版本Mi的有效关键源;S3,分别对当前程序版本Mi的各个有效关键源通过精化约束适配生成精化约束,以参与针对当前程序版本Mi的下一轮验证过程中的迭代;步骤S2中对关键源库中的关键源进行关键源有效性判定时,针对其中任意一个目标关键源进行有效性判定包括:S2.1,为每个程序版本的所有读写事件建立一个读写事件序列,对每个读写事件存储其变量名和读写类型;S2.2,采用最长公共子序列算法识别出当前程序版本Mi的读写事件序列和产生关键源的程序版本Mj的读写事件序列之间的对应关系,且产生关键源的程序版本Mj的版本j和当前程序版本Mi的版本i满足约束关系ji;S2.3,遍历获取目标关键源中的一个关系作为当前关系;S2.4,判断当前关系的两个节点都在当前程序版本Mi的代码中是否成立,若不成立,则判定目标关键源为无效关键源,结束并退出;否则,跳转下一步;S2.5,判断当前关系的两个节点是发生序关系、且两个节点属于不同进程是否成立,所述发生序关系是指两个节点存在执行顺序的约束,若成立,则为当前程序版本Mi构建新代码的发生序关系图,并进一步判断在发生序关系图中两个节点是否可达,若可达则跳转下一步,若不可达则判定目标关键源为无效关键源,结束并退出;否则,跳转下一步;S2.6,判断目标关键源中的关系是否遍历完毕,若尚未遍历完毕,则跳转步骤S2.3,否则,判定目标关键源为有效关键源;步骤S3中分别对当前程序版本Mi的各个有效关键源通过精化约束适配生成精化约束时,针对任意关键源适配生成精化约束的步骤包括:S3.1,根据当前程序版本Mi的读写事件序列和产生关键源的程序版本Mjji的读写事件序列之间的对应关系,找到关键源中各个读写事件e在当前程序版本Mi中的执行条件文字ge,以及各个读写顺序关系λ在当前程序版本Mi中对应的连接文字Sλ;S3.2,根据关键源中各个读写事件e在当前程序版本Mi中的执行条件文字ge,以及各个读写顺序关系λ在当前程序版本Mi中对应的连接文字Sλ,生成关键源对应的精化约束。

全文数据:

权利要求:

百度查询: 中国人民解放军国防科技大学 一种基于精化约束重用的并行程序增量式回归验证方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。