Partial order reduction (POR) is a classic technique for dealing with the state explosion problem in model checking of concurrent programs. Theoretical optimality, i.e., avoiding enumerating equivalent interleavings, does not necessarily guarantee optimal overall performance of the model checking algorithm. The computational overhead required to guarantee optimality may by far cancel out any benefits that an algorithm may have from exploring a smaller state space of interleavings. With a focus on overall performance, we propose new algorithms for stateful POR based on the recently proposed source sets, which are less precise but more efficient than the state of the art in practice. We evaluate efficiency using an implementation that extends Java Pathfinder in the context of verifying concurrent data structures.
翻译:部分订单削减(POR)是处理同时程序模式检查中国家爆炸问题的经典技术。 理论最佳性,即避免列出等效的插座,不一定保证模型检查算法的最佳总体性能。 保证优化所需的计算间接费用可能远未取消算法在探索较小干涉空间方面可能带来的任何好处。 我们以总体性能为重点,根据最近提议的源集,为状态式POR提出了新的算法,这些算法不那么精确,但效率也比实际中的最新水平要高。 我们在核查并行数据结构时,使用扩展爪哇开拓者软件的操作效率评估。