[发明专利]基于Petri网的并发错误检测方法及系统有效
申请号: | 201910046155.1 | 申请日: | 2019-01-17 |
公开(公告)号: | CN111444082B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 蒋昌俊;闫春钢;刘关俊;张亚英;孙佳全;相东明 | 申请(专利权)人: | 同济大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 王华英 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 petri 并发 错误 检测 方法 系统 | ||
一种基于Petri网的并发错误检测方法及系统,包括:使用Petri网对被检测系统进行静态分析获取静态分析数据,并根据静态分析数据构建检测系统模型;提取检测系统模型中的规则机制信息,根据规则机制信息生成状态图;提取状态图中的操作标记函数信息,根据操作标记函数信息获取并发错误判断信息,据以遍历判断状态图获取错误检测结果,本发明解决了现有技术存在的对并发错误的检测效率低和检测精度差的技术问题。
技术领域
本发明涉及一种并发检错的方法,特别是涉及一种基于Petri网的并发错误检测方法及系统。
背景技术
并发程序常常伴随着不易被检测的并发错误,像是死锁,数据竞争等。由于这些并发错误在绝大多数执行顺序下不会出现,只有在某些特定的执行顺序下才会触发这些并发错误,因此常常需要花费较大的开销才能捕捉这些错误。传统的并发错误检测大体上分为动态执行控制和静态源码分析。动态执行控制主要是监视程序运行,在监视过程中识别共享变量和进行锁集求交运算,该技术虽然可以在不用预先获取程序源码的基础上进行检测,但是执行过程中的开销较大,并且由于不清楚源码情况,一次执行暴露全部并发缺陷的概率较低,测试过程中需要大量的测试用例。而静态源码分析的方法在建立模型后,具有开销小、效率快等众多优点,只能很难保证语义和构建的模型完全等价。
综上所述,现有技术中的动态执行控制和静态源码控制并发检错技术需要准备大量测试用例构建模型不等价,现有技术存在对并发错误的检测效率低和检测精度差的技术问题。
发明内容
鉴于以上现有技术存在对并发错误的检测效率低和检测精度差的技术问题,本发明的目的在于提供一种基于Petri网的并发错误检测方法及系统,解决现有技术存在的对并发错误的检测效率低和检测精度差的技术问题,一种基于Petri网的并发错误检测方法,包括:使用Petri网对被检测系统进行静态分析获取静态分析数据,并根据静态分析数据构建检测系统模型;提取检测系统模型中的规则机制信息,根据规则机制信息生成状态图;提取状态图中的操作标记函数信息,根据操作标记函数信息获取并发错误判断信息,遍历所述状态图,根据所述并发错误判断信息获取所述状态图对应的错误检测结果。于本发明的一实施方式中,使用Petri网对被检测系统进行静态分析获取得静态分析数据,并根据静态分析数据构建检测系统模型,具体包括:将数目不小于两个的线程设计为独立系统,独立系统与线程对应;定义独立系统中的控制结构的操作锁定解锁函数;根据操作锁定解锁函数判断控制结构是否可运行,获取控制结构判断信息;根据控制结构判断信息制定操作逻辑;根据操作逻辑构建检测系统模型。
于本发明的一实施方式中,根据控制结构判断信息制定操作逻辑,包括:预设读写逻辑为:满足读取数据d前,先进行对应数据d的写操作;预设同步原则满足读写冲突,写写冲突;汇总预设读写逻辑和预设同步原则为操作逻辑;
所述数据d即为所述静态分析数据。
于本发明的一实施方式中,提取检测系统模型中的规则机制信息,根据规则机制信息生成状态图,具体包括:获取检测系统模型中的各独立系统的控制结构及系统运行条件;根据控制结构上的状态变化获取各独立系统的状态变化集;获取控制结构上发生读写及加解锁操作时状态变化集的数据修改信息,根据数据修改信息获取状态图发生逻辑;根据系统运行条件和状态图发生逻辑生成状态图。
于本发明的一实施方式中,获取控制结构上发生读写及加解锁操作时状态变化集的数据修改信息,根据数据修改信息获取状态图发生逻辑,具体包括:获取控制结构的数据修改信息,数据修改信息包括:写入删除操作及加解锁操作;判断当前操作类型;在控制结构上有写入/删除操作时,则经过该控制结构产生的状态Configuration,对所述被检测系统的数据集合进行修改;在控制结构上有加锁/解锁操作时,则经过该控制结构产生的状态Configuration,根据操作的类型对读锁/写锁集合进行修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910046155.1/2.html,转载请声明来源钻瓜专利网。