首页> 外文会议>International Conference on Automated Deduction; 20050722-27; Tallinn(EE) >An Algorithm for Deciding BAPA: Boolean Algebra with Presburger Arithmetic
【24h】

An Algorithm for Deciding BAPA: Boolean Algebra with Presburger Arithmetic

机译:确定BAPA的算法:具有Presburger算法的布尔代数

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

摘要

We describe an algorithm for deciding the first-order multisorted theory BAPA, which combines 1) Boolean algebras of sets of uninterpreted elements (BA) and 2) Presburger arithmetic operations (PA). BAPA can express the relationship between integer variables and cardinalities of a priory unbounded finite sets, and supports arbitrary quantification over sets and integers. Our motivation for BAPA is deciding verification conditions that arise in the static analysis of data structure consistency properties. Data structures often use an integer variable to keep track of the number of elements they store; an invariant of such a data structure is that the value of the integer variable is equal to the number of elements stored in the data structure. When the data structure content is represented by a set, the resulting constraints can be captured in BAPA. BAPA formulas with quantifier alternations arise when verifying programs with annotations containing quantifiers, or when proving simulation relation conditions for refinement and equivalence of program fragments. Furthermore, BAPA constraints can be used for proving the termination of programs that manipulate data structures, and have applications in constraint databases. We give a formal description of a decision procedure for BAPA, which implies the decidability of BAPA. We analyze our algorithm and obtain an elementary upper bound on the running time, thereby giving the first complexity bound for BAPA. Because it works by a reduction to PA, our algorithm yields the decidability of a combination of sets of uninterpreted elements with any decidable extension of PA. Our algorithm can also be used to yield an optimal decision procedure for BA through a reduction to PA with bounded quantifiers. We have implemented our algorithm and used it to discharge verification conditions in the Jahob system for data structure consistency checking of Java programs; our experience with the algorithm is promising.
机译:我们描述了一种用于确定一阶多分类理论BAPA的算法,该算法结合了1)未解释元素集的布尔代数(BA)和2)Presburger算术运算(PA)。 BAPA可以表示整数变量与先验无界有限集基数之间的关系,并支持对集合和整数进行任意量化。我们寻求BAPA的动机是确定在数据结构一致性属性的静态分析中出现的验证条件。数据结构通常使用整数变量来跟踪它们存储的元素数量;这种数据结构的不变量是整数变量的值等于存储在数据结构中的元素数。当数据结构内容由集合表示时,可以在BAPA中捕获所产生的约束。当验证包含量词的注释的程序时,或者当证明程序片段的精炼和等价的仿真关系条件时,会出现带有量词交替的BAPA公式。此外,BAPA约束可用于证明操作数据结构并在约束数据库中具有应用程序的程序的终止。我们对BAPA的决策程序进行了正式描述,这意味着BAPA的可判定性。我们分析算法并获得运行时间的基本上限,从而给出BAPA的第一个复杂度界限。因为它通过降低PA起作用,所以我们的算法可得出未解释元素集与PA的任何可确定扩展的组合的可判定性。我们的算法还可以用于通过使用限定量词简化为PA来为BA生成最佳决策过程。我们已经实现了我们的算法,并使用它来释放Jahob系统中的验证条件,以进行Java程序的数据结构一致性检查。我们在算法方面的经验很有希望。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号