[发明专利]基于程序约束构建的多线程程序输出唯一性检测与证据生成方法有效

专利信息
申请号: 201410320129.0 申请日: 2014-07-07
公开(公告)号: CN104077226A 公开(公告)日: 2014-10-01
发明(设计)人: 刘烃;张晓东;刘沛;俞乐晨;郑庆华 申请(专利权)人: 西安交通大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 西安智大知识产权代理事务所 61215 代理人: 段俊涛
地址: 710049*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于程序约束构建的多线程程序输出唯一性检测与证据生成方法,根据多线程程序语义构建约束表达式,将输出唯一性验证问题转化为约束求解问题,采用约束求解器检测是否存在不同的输出,并生成说明不同输出的反例执行路径,首先,插桩被检测程序,执行此程序并得到执行路径;其次,根据多线程程序执行语义,将执行路径转化为无量词一阶逻辑表达式,此约束表达式涵盖所有可行的线程交织;然后,针对一次运行的输出结果,构建唯一性验证条件;最后,利用约束求解器验证是否存在一条路径使得输出值与运行结果不一致,本方法可以检测出在给定输入下,多线程程序的输出是否唯一;如果存在输出不唯一的情况,则展示出反例序列以说明其触发过程。
搜索关键词: 基于 程序 约束 构建 多线程 输出 唯一 检测 证据 生成 方法
【主权项】:
一种基于程序约束构建的多线程程序输出唯一性检测与证据生成方法,其特征在于,包括如下步骤:S1)将监控代码植入待测程序,以记录程序的执行过程;S2)在给定输入下,执行已插桩程序,生成路径记录文件;S3)预处理执行路径以便于约束构建;S4)在程序运行结尾处自动添加属性条件,针对多线程程序的运行输出,将输出唯一性条件ρ以assert的格式插入程序;S5)根据程序执行语义将执行路径中状态转移、线程交织关系转化为无量词一阶逻辑表达式,构建蕴含了所有可能的交织序列的多线程程序执行路径约束模型F;S6)针对唯一性条件ρ,利用约束求解器验证是否有解。S7)如果有解,则表示存在多种不同的输出,并生成证据序列;如果无解,则表示此输出在此输入下唯一。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201410320129.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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