首页> 外文会议>FM 2011: Formal methods >Using Debuggers to Understand Failed Verification Attempts
【24h】

Using Debuggers to Understand Failed Verification Attempts

机译:使用调试器了解失败的验证尝试

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

Automatic program verification allows programmers to detect program errors at compile time. When an attempt to automatically verify a program fails the reason for the failure is often difficult to understand. Many program verifiers provide a counterexample of the failed attempt. These counterexamples are usually very complex and therefore not amenable to manual inspection. Moreover, the counterexample may be invalid, possibly misleading the programmer. We present a new approach to help the programmer understand failed verification attempts by generating an executable program that reproduces the failed verification attempt described by the counterexample. The generated program (1) can be executed within the program debugger to systematically explore the counterexample, (2) encodes the program semantics used by the verifier, which allows us to detect errors in specifications as well as in programs, and (3) contains runtime checks for all specifications, which allows us to detect spurious errors. Our approach is implemented within the Spec# programming system.
机译:自动程序验证使程序员可以在编译时检测程序错误。当尝试自动验证程序失败时,通常很难理解失败的原因。许多程序验证程序提供了失败尝试的反例。这些反例通常非常复杂,因此不适合手动检查。此外,反例可能无效,可能会误导程序员。我们提出一种新方法,通过生成可执行程序来再现错误示例所描述的失败验证尝试,从而帮助程序员理解失败的验证尝试。生成的程序(1)可以在程序调试器中执行,以系统地探索反例;(2)对验证程序使用的程序语义进行编码,这使我们能够检测规范以及程序中的错误;(3)包含运行时检查所有规范,这使我们能够检测出虚假错误。我们的方法是在Spec#编程系统中实现的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号