首页> 外文会议>Tests and proofs >Testing First-Order Logic Axioms in Program Verification
【24h】

Testing First-Order Logic Axioms in Program Verification

机译:在程序验证中测试一阶逻辑公理

获取原文
获取原文并翻译 | 示例

摘要

Program verification systems based on automated theorem provers rely on user-provided axioms in order to verify domain-specific properties of code. However, formulating axioms correctly (that is, formalizing properties of an intended mathematical interpretation) is non-trivial in practice, and avoiding or even detecting unsoundness can sometimes be difficult to achieve. Moreover, speculating soundness of axioms based on the output of the provers themselves is not easy since they do not typically give counterexamples. We adopt the idea of model-based testing to aid axiom authors in discovering errors in axiomatizations. To test the validity of axioms, users define a computational model of the axiomatized logic by giving interpretations to the function symbols and constants in a simple declarative programming language. We have developed an axiom testing framework that helps automate model definition and test generation using off-the-shelf tools for meta-programming, property-based random testing, and constraint solving. We have experimented with our tool to test the axioms used in AutoCert, a program verification system that has been applied to verify aerospace flight code using a first-order axiomatization of navigational concepts, and were able to find counterexamples for a number of axioms.
机译:基于自动定理证明者的程序验证系统依靠用户提供的公理来验证代码的特定于域的属性。然而,在实践中正确地制定公理(即形式化预期的数学解释的属性)并非易事,有时避免甚至避免不健全有时是很难实现的。此外,基于证明者本身的输出来推测公理的健全性并不容易,因为它们通常不会提供反例。我们采用基于模型的测试的思想来帮助公理作者发现公理化过程中的错误。为了测试公理的有效性,用户通过使用一种简单的声明性编程语言对功能符号和常量进行解释来定义公理逻辑的计算模型。我们已经开发了一个公理测试框架,该框架使用用于元编程,基于属性的随机测试和约束求解的现成工具来帮助自动进行模型定义和测试生成。我们已经对我们的工具进行了试验,以测试AutoCert中使用的公理,该程序已通过一种导航概念的公理化被应用于验证航空航天代码的程序验证系统,并且能够找到许多公理的反例。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号