[发明专利]基于多线程程序约束构建的数据竞争检测与证据生成方法有效

专利信息
申请号: 201410320943.2 申请日: 2014-07-07
公开(公告)号: CN104077144A 公开(公告)日: 2014-10-01
发明(设计)人: 刘烃;张晓东;俞乐晨;刘沛;郑庆华 申请(专利权)人: 西安交通大学
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 西安智大知识产权代理事务所 61215 代理人: 段俊涛
地址: 710049*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于多线程程序约束构建的数据竞争检测与证据生成方法,根据多线程程序语义构建约束表达式,将数据竞争检测问题转化为约束求解问题,采用约束求解器检测可能存在的数据竞争,并生成触发数据竞争的程序执行路径,首先插桩被检测程序,执行此程序并得到执行路径;其次根据多线程程序执行语义将执行路径转化为无量词一阶逻辑表达式,此约束表达式涵盖所有可行的线程交织;然后根据发生数据竞争时语句间时序关系构建数据竞争候选集合,生成候选发生竞争的条件;最后遍历候选集合判定是否存在数据竞争,如有则生成对应的证据序列,本方法可找出一次执行中所有的数据竞争且不存在误报情况,对每一个数据竞争都生成一个展示了数据竞争触发过程的证据序列。
搜索关键词: 基于 多线程 程序 约束 构建 数据 竞争 检测 证据 生成 方法
【主权项】:
一种基于多线程程序约束构建的数据竞争检测与证据生成方法,其特征在于,包括如下步骤:S1)在给定输入下,通过执行已插桩的待测程序以生成路径记录文件,且识别出执行路径中公有变量的访问点以便于约束构建;S2)根据程序执行语义将执行路径中状态转移、线程交织关系转化为无量词一阶逻辑表达式,构建蕴含了所有可能的交织序列的多线程程序执行路径约束模型F;S3)将路径中所有线程上可能发生数据竞争的两点视为数据竞争候选,收集所有候选并构建数据竞争候选集合DRCS,同时根据数据竞争的定义构建每个候选的竞争发生条件ρ;S4)针对每一个候选竞争发生条件ρ,利用约束求解器验证F∧ρ是否有解;S5)如果有解,则表示此竞争条件会触发真实的数据竞争;如果无解,则表示此候选不会触发数据竞争;S6)当存在数据竞争时,输出该数据竞争的证据序列;S7)对于数据竞争候选集合DRCS,如果遍历结束,则输出所有结果;否则,继续遍历下一个竞争候选;S8)验证结束后,输出检测到的所有数据竞争以及对应的证据序列。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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