Skip to main content
QUICK REVIEW

[论文解读] Verifying Lock-Free Search Structure Templates

Nisarg Patel, Dennis Shasha|arXiv (Cornell University)|Jan 1, 2024
Logic, programming, and type systems被引用 1
一句话总结

本文提出了一种模块化、参数化的框架,用于使用并发分离逻辑(Iris)验证无锁搜索结构模板——特别是跳表和链表。该框架引入了一种基于事后推理与预言追踪的机制化证明技术,以处理依赖未来的线性化点,与先前方法相比,证明工作量减少了53%。该方法实现了对多个现有及新型无锁算法的统一形式化验证,包括首个完全形式化验证的无界高度无锁跳表。

ABSTRACT

We present and verify template algorithms for lock-free concurrent search structures that cover a broad range of existing implementations based on lists and skiplists. Our linearizability proofs are fully mechanized in the concurrent separation logic Iris. The proofs are modular and cover the broader design space of the underlying algorithms by parameterizing the verification over aspects such as the low-level representation of nodes and the style of data structure maintenance. As a further technical contribution, we present a mechanization of a recently proposed method for reasoning about future-dependent linearization points using hindsight arguments. The mechanization builds on Iris' support for prophecy reasoning and user-defined ghost resources. We demonstrate that the method can help to reduce the proof effort compared to direct prophecy-based proofs.

研究动机与目标

  • 开发一种模块化、参数化的模板,用于验证广泛类别的无锁搜索结构,包括跳表和链表。
  • 解决在具有未来依赖性和外部线性化点的无锁数据结构中验证线性可实现性的挑战。
  • 在Iris并发分离逻辑框架中形式化并机制化事后推理,以实现可扩展、可重用的证明。
  • 通过利用用户定义的幽灵资源和时间插值,与直接基于预言的推理相比,减少证明工作量。
  • 通过验证已知算法(例如Herlihy-Shavit、Michael、Harris)并生成新的“构造即正确”的变体,展示该框架的适用性。

提出的方法

  • 该框架使用参数化模板算法,抽象节点表示、维护方式(急切式与延迟式)以及高层操作顺序。
  • 线性可实现性证明在Iris中机制化,Iris是一种支持预言推理和幽灵资源的基础并发分离逻辑。
  • 提出了一种新颖的事后推理形式化,通过时间插值和预言解析,实现对过去状态的推断。
  • 辅助函数如markNode和changeNext通过集成预言解析和更新追踪的原子三元组进行规格化。
  • 该框架重用并扩展了多份副本模板的先前工作,应用事后推理以降低证明复杂度。
  • 证明策略使用过去算子⟪s,t₀⟫来推理状态历史,并事后确立线性化点。

实验结果

研究问题

  • RQ1是否可以使用单一、模块化的模板算法来验证广泛的无锁搜索结构实现,包括跳表和链表?
  • RQ2如何使用不依赖执行结果先验知识的证明技术,形式化推理无锁数据结构中依赖未来的线性化点?
  • RQ3与Iris中直接基于预言的证明相比,使用预言追踪的事后推理在多大程度上能减少证明工作量?
  • RQ4所提出的框架能否验证已知的无锁算法(例如Herlihy-Shavit、Michael、Harris)并生成新的“构造即正确”的变体?
  • RQ5是否可能在基础程序逻辑中实现对无界高度无锁跳表的线性可实现性证明的完全机制化?

主要发现

  • 该框架成功将Herlihy-Shavit跳表、Michael集合和Harris链表算法作为同一模板的实例进行验证。
  • 与先前定制化证明相比,机制化的事后推理技术在重新验证多份副本模板算法时,将证明工作量减少了53%。
  • 通过该框架首次实现了对完全功能性、无界高度无锁跳表的正式验证。
  • 使用用户定义的幽灵资源和预言推理,实现了模块化、可组合的证明,可跨算法变体扩展。
  • 该框架通过参数实例化支持生成新的、构造即正确的无锁跳表算法。
  • 在Iris中对事后推理的正式化是该技术在基础程序逻辑层面的首次机制化,实现了可重用且可扩展的验证。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。