首页> 外文会议>International Conference on Tools and Algorithms for the Construction and Analysis of Systems >Symbolically Computing Most-Precise Abstract Operations for Shape Analysis
【24h】

Symbolically Computing Most-Precise Abstract Operations for Shape Analysis

机译:象征性地计算最精确的抽象操作,用于形状分析

获取原文

摘要

Shape analysis concerns the problem of determining "shape invariants" for programs that perform destructive updating on dynamically allocated storage. This paper presents a new algorithm that takes as input an abstract value (a 3-valued logical structure describing some set of concrete stores X) and a precondition p, and computes the most-precise abstract value for the stores in X that satisfy p. This algorithm solves several open problems in shape analysis: (i) computing the most-precise abstract value of a set of concrete stores specified by a logical formula; (ii) computing best transformers for atomic program statements and conditions; (iii) computing best transformers for loop-free code fragments (i.e., blocks of atomic program statements and conditions); (iv) performing interprocedural shape analysis using procedure specifications and assume-guarantee reasoning; and (v) computing the most-precise overapproximation of the meet of two abstract values. The algorithm employs a decision procedure for the logic used to express properties of data structures. A decidable logic for expressing such properties is described in [5]. The algorithm can also be used with an undecidable logic and a theorem prover; termination can be assured by using standard techniques (e.g., having the theorem prover return a safe answer if a time-out threshold is exceeded) at the cost of losing the ability to guarantee that a most-precise result is obtained. A prototype has been implemented in TVLA, using the SPASS theorem prover.
机译:形状分析涉及确定在动态分配的存储上执行破坏性更新的程序的“形状不变”的问题。本文介绍了一种新的算法,它用作输入的抽象值(描述某些混凝土存储x的3值逻辑结构)和前提条P,并计算满足p的X中存储的最精确的抽象值。该算法在形状分析中解决了几个打开问题:(i)计算由逻辑公式指定的一组混凝土商店的最精确的抽象值; (ii)计算原子计划陈述和条件的最佳变压器; (iii)计算无循环代码片段的最佳变压器(即原子序表陈述和条件); (iv)使用程序规范进行复网形状分析,并采取保证 - 保证推理; (v)计算两种抽象值的满足的最精确过度估计。该算法采用用于表达数据结构属性的逻辑的决策过程。用于表达此类属性的可判定逻辑在[5]中描述。该算法还可以与未定定的逻辑和定理先驱一起使用;通过使用标准技术可以通过使用标准技术(例如,如果超过超出时间阈值的定理先词返回安全答案)以减少保证最精确的结果的能力,则可以确定终止。使用Spass定理先驱,在TVLA中实现了一种原型。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号