Skip to main content
QUICK REVIEW

[论文解读] Data-centric Dynamic Partial Order Reduction

Marek Chalupa, Krishnendu Chatterjee|arXiv (Cornell University)|Oct 4, 2016
Fuel Cells and Related Materials被引用 16
一句话总结

本文提出一种基于观察等价性的数据驱动动态部分序约简(DPOR)方法,其中若两个执行轨迹中每个读取事件都观察到相同的写入事件,则认为这两个轨迹等价。该方法在无环架构下可证明是最优的,通过使用多项式时间处理每个等价类,相比基于Mazurkiewicz等价性的DPOR,探索的轨迹数量呈指数级减少,在实践中显著降低了探索时间和状态空间大小。

ABSTRACT

We present a new dynamic partial-order reduction method for stateless model checking of concurrent programs. A common approach for exploring program behaviors relies on enumerating the traces of the program, without storing the visited states (aka stateless exploration). As the number of distinct traces grows exponentially, dynamic partial-order reduction (DPOR) techniques have been successfully used to partition the space of traces into equivalence classes (Mazurkiewicz partitioning), with the goal of exploring only few representative traces from each class. We introduce a new equivalence on traces under sequential consistency semantics, which we call the observation equivalence. Two traces are observationally equivalent if every read event observes the same write event in both traces. While the traditional Mazurkiewicz equivalence is control-centric, our new definition is data-centric. We show that our observation equivalence is coarser than the Mazurkiewicz equivalence, and in many cases even exponentially coarser. We devise a DPOR exploration of the trace space, called data-centric DPOR, based on the observation equivalence. 1. For acyclic architectures, our algorithm is guaranteed to explore exactly one representative trace from each observation class, while spending polynomial time per class. Hence, our algorithm is optimal wrt the observation equivalence, and in several cases explores exponentially fewer traces than any enumerative method based on the Mazurkiewicz equivalence. 2. For cyclic architectures, we consider an equivalence between traces which is finer than the observation equivalence; but coarser than the Mazurkiewicz equivalence, and in some cases is exponentially coarser. Our data-centric DPOR algorithm remains optimal under this trace equivalence. Finally, we perform a basic experimental comparison between the existing Mazurkiewicz-based DPOR and our data-centric DPOR on a set of academic benchmarks. Our results show a significant reduction in both running time and the number of explored equivalence classes.

研究动机与目标

  • 解决在并发程序无状态模型检测过程中轨迹空间的指数级爆炸问题。
  • 开发一种比传统Mazurkiewicz等价性更粗粒度的等价关系,同时保持验证的完备性。
  • 设计一种相对于此新等价关系最优的动态部分序约简算法。
  • 与现有DPOR方法相比,在运行时间和探索的等价类数量方面实现显著的性能提升。

提出的方法

  • 提出一种新的轨迹等价关系——观察等价性,即若两个轨迹中每个读取事件都观察到相同的写入事件,则认为它们等价。
  • 设计一种数据驱动的DPOR算法,针对无环架构,每个观察等价类仅探索一个代表性轨迹。
  • 采用运行时冲突检测和持久集技术,并将其适配至观察等价性,以实现高效探索。
  • 引入一种适用于有环架构的精细化等价关系,其粒度比Mazurkiewicz关系更粗,但比观察等价性更细。
  • 采用每个等价类的多项式时间计算,避免了先前基于SMT方法中使用的NP-Oracle调用。
  • 将算法扩展至处理有环架构,同时在精细化等价关系下保持最优性。

实验结果

研究问题

  • RQ1能否在并发程序的动态部分序约简中使用比Mazurkiewicz等价性更粗粒度的等价关系?
  • RQ2能否设计一种相对于数据驱动等价关系最优的DPOR算法?
  • RQ3此类等价关系是否能相比传统方法实现探索轨迹数量的指数级减少?
  • RQ4与现有DPOR技术相比,新算法在实际应用中的性能表现如何?
  • RQ5该方法能否扩展至处理有环架构,同时保持效率和正确性?

主要发现

  • 观察等价性比Mazurkiewicz等价性更粗,在某些情况下甚至呈指数级更粗,从而显著减少了需探索的轨迹数量。
  • 对于无环架构,数据驱动DPOR算法每个观察等价类仅探索一个代表性轨迹,且每个类的运行时间呈多项式时间,因此是最优的。
  • 实验结果表明,该算法显著减少了探索的等价类数量和运行时间。
  • 该方法避免了对NP-Oracle调用(如SMT求解器)的依赖,而MCR方法则因每类的最坏情况复杂度呈指数级而受困。
  • 与MCR不同,该算法保证每个等价类仅被探索一次,从而避免了探索过程中的指数级膨胀。
  • 实验结果表明,与传统的基于Mazurkiewicz等价性的DPOR相比,新方法在运行时间和探索类数量方面均实现显著减少。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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