首页> 中文期刊> 《软件学报》 >基于Z3的Coq自动证明策略的设计和实现

基于Z3的Coq自动证明策略的设计和实现

         

摘要

Formal verification is an effective approach to construct high confidence software.Verifying the functional correctness of complex system software by manually writing proof scripts in proof assistant tools is feasible with the low degree of automation,and the verification cost is relatively high.The automatic program verifiers verify programs by taking the annotated source code as their input to generate verification conditions automatically solved by SMT solvers.This approach has a high degree of automation,but it is impossible to verify the functional correctness of the entire system software.By combining the advantage of the above two methods,this paper implements a novel Coq tactic plug-in named "smt4coq",which allows calling the Z3 SMT solver in Coq to automatically prove mathematical propositions involved with 32-bit machine integers.The new tactic improves the degree of automation and reduces the cost of manual verification.%形式化验证方法被认为是一种构建高可信软件系统的有效手段.在定理证明工具通过手动写证明脚本来验证系统软件的功能正确性,这种验证方式表达力强,可以证明复杂系统,但是自动化程度低、验证代价比较高;而使用程序验证器接受经过规范标注的源代码生成验证条件,并将验证条件交给约束求解器自动求解,这种方式自动化程度高,缺点在于它很难验证复杂系统软件的全部功能的正确性.结合上述两种方式的优点,在定理证明工具Coq中实现了一个自动证明策略smt4coq,它通过在Coq中调用约束求解器Z3自动证明32位机器整数相关的数学命题,提高了自动化验证的程度,减少了用户手动验证程序的开销.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号