【24h】

Ranking Abstraction as Companion to Predicate Abstraction

机译:排名抽象作为追溯抽象的伴侣

获取原文

摘要

Predicate abstraction has become one of the most successful methodologies for proving safety properties of programs. Recently, several abstraction methodologies have been proposed for proving liveness properties. This paper studies "ranking abstraction" where a program is augmented by a non-constraining progress monitor, and further abstracted by predicate-abstraction, to allow for automatic verification of progress properties. Unlike most liveness methodologies, the augmentation does not require a complete ranking function that is expected to decrease with each step. Rather, the inputs are component rankings from which a complete ranking function may be formed. The premise of the paper is an analogy between the methods of ranking abstraction and predicate abstraction, one ingredient of which is refinement: When predicate abstraction fails, one can refine it. When ranking abstraction fails, one must determine whether the predicate abstraction, or the ranking abstraction, need be refined. The paper presents strategies for determining which case is at hand. The other part of the analogy is that of automatically deriving deductive proof constructs: Predicate abstraction is often used to derive program invariants for proving safety properties as a boolean combination of the given predicates. Deductive proof of progress properties requires well-founded ranking functions instead of invariants. We show how to obtain concrete global ranking functions from abstract programs. We demonstrate the various methods on examples with nested loops, including a bubble sort algorithm on linked lists.
机译:谓词抽象已成为用于证明计划安全性质的最成功的方法之一。最近,已经提出了几种抽象方法来证明活性属性。本文研究了“排名抽象”,其中程序由非约束进度监视器增强,并通过谓词抽象进一步抽象,以允许自动验证进度属性。与大多数活力方法不同,增强不需要预期使用每一步减少的完整排名功能。相反,输入是可以从该组分排名,从该组分排名可以形成完整的排名功能。本文的前提是排名抽象和谓词抽象方法之间的类比,其中一个成分是细化的:当谓词抽象失败时,可以改进它。当排序抽象失败时,必须确定是否需要精制谓词抽象或排名抽象。本文提出了确定手头的策略。类比的另一部分是自动推导的演绎证明构造:谓词抽象通常用于导出程序不变,以便将安全性属性作为给定谓词的布尔组合。 Deftuctive的进度属性需要熟悉的排名函数而不是不变性。我们展示了如何从抽象程序获取具体的全局排名功能。我们在嵌套循环上展示了各种方法,包括链接列表中的气泡排序算法。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号