首页> 外文会议>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: (ⅰ) computing the most-precise abstract value of a set of concrete stores specified by a logical formula; (ⅱ) computing best transformers for atomic program statements and conditions; (ⅲ) computing best transformers for loop-free code fragments (i.e., blocks of atomic program statements and conditions); (ⅳ) performing interprocedural shape analysis using procedure specifications and assume-guarantee reasoning; and (ⅴ) computing the most-precise over approximation 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的三值逻辑结构)和前提p作为输入,并为满足p的X中的存储计算最精确的抽象值。该算法解决了形状分析中的几个开放问题:(ⅰ)计算由逻辑公式指定的一组具体存储的最精确抽象值; (ⅱ)计算用于原子程序语句和条件的最佳转换器; (ⅲ)计算无环代码片段(即原子程序语句和条件的块)的最佳转换器; (ⅳ)使用程序规范和假设保证推理进行过程间形状分析; (ⅴ)计算两个抽象值的满足的最精确的近似值。该算法对用于表达数据结构属性的逻辑采用决策程序。在[5]中描述了一种表达这种性质的可判定逻辑。该算法还可以与不确定的逻辑和定理证明器一起使用。可以通过使用标准技术来确保终止(例如,如果超过超时阈值,则让定理证明者返回安全答案),但会失去确保获得最精确结果的能力。使用SPASS定理证明器,已在TVLA中实现了原型。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号