【24h】

SDSAT: Tight Integration of Small Domain Encoding and Lazy Approaches in a Separation Logic Solver

机译:SDSAT:分离逻辑求解器中小域编码和惰性方法的紧密集成

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

摘要

Existing Separation Logic (a.k.a Difference Logic, DL) solvers can be broadly classified as eager or lazy, each with its own merits and de-merits. We propose a novel Separation Logic Solver SDSAT that combines the strengths of both these approaches and provides a robust performance over a wide set of benchmarks. The solver SDSAT works in two phases: allocation and solve. In the allocation phase, it allocates non-uniform adequate ranges for variables appearing in separation predicates. This phase is similar to previous small domain encoding approaches, but uses a novel algorithm Nu-SMOD with 1-2 orders of magnitude improvement in performance and smaller ranges for variables. Furthermore, the Separation Logic formula is not transformed into an equi-satisfiable Boolean formula in one step, but rather done lazily in the following phase. In the solve phase, SDSAT uses a lazy refinement approach to search for a satisfying model within the allocated ranges. Thus, any partially DL-theory consistent model can be discarded if it can not be satisfied within the allocated ranges. Note the crucial difference: in eager approaches, such a partially consistent model is not allowed in the first place, while in lazy approaches such a model is never discarded. Moreover, we dynamically refine the allocated ranges and search for a feasible solution within the updated ranges. This combined approach benefits from both the smaller search space (as in eager approaches) and also from the theory-specific graph-based algorithms (characteristic of lazy approaches). Experimental results show that our method is robust and always better than or comparable to state-of-the art solvers.
机译:现有的分离逻辑(又称差分逻辑,DL)求解器可以大致分为渴望或懒惰求解器,每种都有其优缺点。我们提出了一种新颖的分离逻辑求解器SDSAT,它结合了这两种方法的优势,并在广泛的基准测试中提供了强大的性能。 SDSAT求解程序分为两个阶段:分配和求解。在分配阶段,它为出现在分离谓词中的变量分配不均匀的适当范围。该阶段类似于以前的小域编码方法,但是使用了一种新颖的算法Nu-SMOD,在性能上提高了1-2个数量级,并且变量的范围更小。此外,“分离逻辑”公式不是一步就转换成一个等满意的布尔公式,而是在下一个阶段懒惰地完成。在求解阶段,SDSAT使用惰性优化方法在分配的范围内搜索令人满意的模型。因此,如果不能在分配的范围内满足任何部分DL理论一致性模型,则可以将其丢弃。注意关键的区别:在急切的方法中,首先不允许这样的部分一致的模型,而在懒惰的方法中,永远不要丢弃这样的模型。此外,我们动态优化分配的范围,并在更新的范围内搜索可行的解决方案。这种组合方法既得益于较小的搜索空间(如热切的方法),也得益于特定于理论的基于图的算法(惰性方法的特性)。实验结果表明,我们的方法是可靠的,并且始终优于或可与最新的求解器相媲美。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号