首页> 外文会议>International Conference on Integrated Formal Methods >Hoare-Style Reasoning from Multiple Contracts
【24h】

Hoare-Style Reasoning from Multiple Contracts

机译:多合同的Hoare式推理

获取原文

摘要

Modern software is often developed with advanced mechanisms for code reuse. A software module may build on other software modules or libraries where the source code is not available. And even if the source code is known, the binding mechanism may be such that the binding of methods is not known at verification time, and thus the underlying reused code cannot be determined. For example, in delta- oriented programming the binding of methods depends on the ordering of deltas in each product, making modular reasoning non-trivial. Similar problems occur with traits and subclassing. Reasoning inside a module must then be based on partial knowledge of the methods, typically given by contracts in the form of pairs of pre- and post-conditions, and one may not derive new properties by re-verification of the (unavailable) source code. In the setting of Hoare logic, this gives some challenges to general rules for adaptation that goes beyond traditional systems for Hoare logic. We develop a novel way of reasoning from multiple contracts, which makes the traditional adaptation rules superfluous. The problem we address does not depend on the choice of programming language. We therefore focus on general rules rather than statement-specific rules. We show soundness and completeness for the suggested rules.
机译:现代软件通常使用先进的代码重用机制进行开发。一个软件模块可以建立在其他源代码不可用的软件模块或库上。并且即使源代码是已知的,绑定机制也可以是这样的:在验证时,方法的绑定是未知的,因此无法确定底层的重用代码。例如,在面向增量的编程中,方法的绑定取决于每个产品中增量的顺序,从而使得模块化推理变得不那么简单。特征和子类化也会发生类似的问题。然后,模块内的推理必须基于对方法的部分了解,通常是通过合同以前置条件和后置条件对的形式给出的,并且可能无法通过重新验证(不可用)源代码来获得新属性。 。在Hoare逻辑的设置中,这给适应性的一般规则提出了一些挑战,这些规则超出了传统的Hoare逻辑系统。我们从多个合同中开发出一种新颖的推理方法,从而使传统的适应规则变得多余。我们解决的问题不取决于编程语言的选择。因此,我们专注于一般规则,而不是针对特定声明的规则。我们对建议的规则显示出健全性和完整性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号