...
首页> 外文期刊>Information and software technology >Verifying Haskell programs by combining testing, model checking and interactive theorem proving
【24h】

Verifying Haskell programs by combining testing, model checking and interactive theorem proving

机译:通过结合测试,模型检查和交互式定理证明来验证Haskell程序

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

摘要

We propose a program verification method that combines random testing, model checking and interactive theorem proving. Testing and model checking are used for debugging programs and specifications before a costly interactive proof attempt. During proof development, testing and model checking quickly eliminate false conjectures and generate counterexamples which help to correct them. With an interactive theorem prover we also ensure the correctness of the reduction of a top level problem to subproblems that can be tested or proved. We demonstrate the method using our random testing tool and binary decision diagrams-based (BDDs) tautology checker, which are added to the Agda/Alfa interactive proof assistant for dependent type theory. In particular we apply our techniques to the verification of Haskell programs. The first example verifies the BDD checker itself by testing its components. The second uses the tautology checker to verify bitonic sort together with a proof that the reduction of the problem to the checked form is correct.
机译:我们提出了一种将随机测试,模型检查和交互式定理证明相结合的程序验证方法。测试和模型检查用于调试程序和规范,然后再进行昂贵的交互式证明。在证明开发期间,测试和模型检查可以快速消除错误的猜想,并生成有助于纠正它们的反例。使用交互式定理证明器,我们还可以确保将顶级问题简化为可以测试或证明的子问题的正确性。我们使用随机测试工具和基于二进制决策图(BDD)的重言式检查器演示了该方法,这些方法已添加到用于依赖类型理论的Agda / Alfa交互式证明助手中。特别是,我们将我们的技术应用于Haskell程序的验证。第一个示例通过测试其组件来验证BDD检查器本身。第二种方法使用重言式检查器来验证双音排序,并证明将问题简化为检查形式是正确的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号