首页> 外文期刊>ACM transactions on software engineering and methodology >Prove it! Inferring Formal Proof Scripts from CafeOBJ Proof Scores
【24h】

Prove it! Inferring Formal Proof Scripts from CafeOBJ Proof Scores

机译:证明给我看!从CafeOBJ证明分数推断正式证明脚本

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

摘要

CafeOBJ is a language for writing formal specifications for a wide variety of software and hardware systems and for verifying their properties. CafeOBJ makes it possible to verify properties by using either proof scores, which consists of reducing goal-related terms in user-defined modules, or by using theorem proving. While the former is more flexible, it lacks the formal support to ensure that a property has been really proven. On the other hand, theorem proving might be too strict, since only a predefined set of commands can be applied to the current goal; hence, it hardens the verification of properties.In order to take advantage of the benefits of both techniques, we have extended CafelnMaude, a CafeOBJ interpreter implemented in Maude, with the CafelnMaude Proof Assistant (CiMPA) and the CafelnMaude Proof Generator (CiMPG). CiMPA is a proof assistant for proving inductive properties on CafeOBJ specifications that uses Maude metalevel features to allow programmers to create and manipulate CiMPA proofs. On the other hand, CiMPG provides a minimal set of annotations for identifying proof scores and generating CiMPA scripts for these proof scores. In this article, we present the CiMPA and CLMPG, detailing the behavior of the CiMPA and the algorithm underlying the CiMPG and illustrating the power of the approach by using the QLOCK protocol. Finally, we present some benchmarks that give us confidence in the matureness and usefulness of these tools.
机译:CafeOBJ是一种语言,用于为各种软件和硬件系统编写正式规范并验证其属性。 CafeOBJ可以通过使用证明分数(包括在用户定义的模块中减少与目标相关的术语)或使用定理证明来验证属性。尽管前者更灵活,但它缺乏确保财产确实得到证明的正式支持。另一方面,定理证明可能太严格了,因为只能将一组预定义的命令应用于当前目标。为了利用这两种技术的优势,我们扩展了在Maude中实现的CafeOBJ解释器CafelnMaude,CafelnMaude证明助手(CiMPA)和CafelnMaude证明生成器(CiMPG)。 CiMPA是一个证明助手,用于证明CafeOBJ规范的归纳属性,该规范使用Maude元级功能允许程序员创建和操纵CiMPA证明。另一方面,CiMPG提供了最少的注释集,用于标识证明分数并为这些证明分数生成CiMPA脚本。在本文中,我们介绍了CiMPA和CLMPG,详细介绍了CiMPA的行为以及CiMPG底层的算法,并说明了使用QLOCK协议的方法的功能。最后,我们提出一些基准,使我们对这些工具的成熟性和实用性充满信心。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号