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

基于C11弱内存模型的C语言程序验证方法及装置 

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

申请/专利权人:北京邮电大学

摘要:本发明提供一种基于C11弱内存模型的C语言程序验证方法及装置,该方法包括:基于C语言程序当前对应的弱内存模型中强制执行的一致性公理,确定第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束;基于第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束,验证第一操作的可执行性,并得到C语言程序的验证结果。本发明提供的基于C11弱内存模型的C语言程序验证方法及装置,通过弱内存模型中的一致性约束验证程序中每个加载操作可能读取的写操作,来探索并验证并发代码的各种可能行为,从而预测并发代码的行为和错误,提高了C语言程序检测的有效性。

主权项:1.一种基于C11弱内存模型的C语言程序验证方法,其特征在于,包括:基于C语言程序当前对应的弱内存模型中强制执行的一致性公理,确定第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束;基于所述第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束,验证所述第一操作的可执行性,并得到所述C语言程序的验证结果;其中,所述第一操作包括将所述C语言程序当前任一读取操作所读取的写入操作修改为另一写入操作;所述顺序一致性约束用于约束所述C语言程序中写入操作和读取操作的程序执行顺序,所述修改顺序一致性约束用于约束所述C语言程序中同一内存位置的写入操作的内存修改顺序,所述读取一致性约束用于约束所述C语言程序中不同内存位置的写入操作的内存修改顺序;所述基于所述第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束,验证所述第一操作的可执行性,包括:基于所述第一操作对应的一致性约束、所述第一操作对应的同步关系约束,以及所述第一操作对应的数据有效性约束,验证所述第一操作的可执行性;所述第一操作对应的一致性约束基于所述第一操作对应的顺序一致性约束、修改顺序一致性约束以及读取一致性约束确定;所述基于所述第一操作对应的一致性约束、所述第一操作对应的同步关系约束,以及所述第一操作对应的数据有效性约束,验证所述第一操作的可执行性,包括:基于所述第一操作对应的一致性约束、所述第一操作对应的同步关系约束,以及所述第一操作对应的数据有效性约束,确定所述第一操作对应的执行约束;基于可满足性模理论SMT求解器,对所述第一操作对应的执行约束进行求解;基于对所述第一操作对应的执行约束进行求解的结果,验证所述第一操作的可执行性。

全文数据:

权利要求:

百度查询: 北京邮电大学 基于C11弱内存模型的C语言程序验证方法及装置

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