论文标题

带有有序数据的形状的双重涂抹

Bi-Abduction for Shapes with Ordered Data

论文作者

Curry, Christopher, Le, Quang Loc

论文摘要

形状分析对于验证堆操纵程序的正确性和记忆安全至关重要,但是这些分析已被证明是非常困难的问题。分离逻辑与形状分析的整合已提高了技术的有效性,但是该领域的最显着进步是双向推断。通过分离逻辑启用,双射效果 - 绑架推理和框架推理的组合 - 是组成推理的关键推动力,有助于显着扩大验证。实际上,双重侵入的成功导致了推断的发展,该工具每天用来验证Facebook的代码库数百万行代码。但是,目前,这种成功主要保持在形状域内。为了将这种影响扩展到形状和算术域的结合,在这项工作中,我们提出了一种新型的单阶段双式程序,以结合数据结构和订购值。该过程的设计是基于展开和匹配范式的精神,其中推理被用来得出任何不匹配的部分。我们还根据骑自行车的库实施了一个原型求解器,并在SL-Comp竞争中的一系列基准中演示了其功能。实验结果表明,我们的建议显示了对堆批准程序的自动验证中规范推断的希望。

Shape analysis is of great importance for the verification of the correctness and memory-safety of heap-manipulating programs, yet such analyses have been shown to be highly difficult problems. The integration of separation logic into shape analyses has improved the effectiveness of the techniques, but the most significant advancement in this area is bi-abductive inference. Enabled by separation logic, bi-abduction - a combination of abductive inference and frame inference - is the key enabler for compositional reasoning, helping to scale up verification significantly. Indeed, the success of bi-abduction has led to the development of Infer, the tool used daily to verify Facebook's codebase of millions of lines of code. However, this success currently stays largely within the shape domain. To extend this impact towards the combination of shape and arithmetic domains, in this work, we present a novel one-stage bi-abductive procedure for a combination of data structures and ordering values. The procedure is designed in the spirit of the Unfold-and-Match paradigm where the inference is utilized to derive any mismatched portion. We have also implemented a prototype solver, based on the Cyclist library, and demonstrate its capabilities over a range of benchmarks from the SL-COMP competition. The experimental results show that our proposal shows promise for the specification inference in an automated verification of heap-manipulating programs.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源