首页> 外文会议>Formal Approaches to Software Testing and Runtime Verification; Lecture Notes in Computer Science; 4262 >Goldilocks: Efficiently Computing the Happens-Before Relation Using Locksets
【24h】

Goldilocks: Efficiently Computing the Happens-Before Relation Using Locksets

机译:Goldilocks:使用锁集有效地计算事前关系

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

摘要

We present a new lockset-based algorithm, Goldilocks, for precisely computing the happens-before relation and thereby detecting data-races at runtime. Dynamic race detection algorithms in the literature are based on vector clocks or locksets. Vector-clock-based algorithms precisely compute the happens-before relation but have significantly more overhead. Previous lockset-based race detection algorithms, on the other hand, are imprecise. They check adherence to a particular synchronization discipline, i.e., a sufficient condition for race freedom and may generate false race warnings. Our algorithm, like vector clocks, is precise, yet it is efficient since it is purely lockset based. We have implemented our algorithm inside the Kaffe Java Virtual Machine. Our implementation incorporates lazy evaluation of locksets and certain "short-circuit checks" which contribute significantly to its efficiency. Experimental results indicate that our algorithm's overhead is much less than that of the vector-clock algorithm and is very close to our implementation of the Eraser lockset algorithm.
机译:我们提出了一种基于锁集的新算法Goldilocks,用于精确计算事前发生的关系,从而在运行时检测数据争用。文献中的动态竞赛检测算法基于矢量时钟或锁集。基于矢量时钟的算法可以精确地计算事前关联,但开销却大得多。另一方面,以前的基于锁集的种族检测算法是不精确的。他们检查是否遵守特定的同步规则,即是否有种族自由的充分条件,并可能产生虚假的种族警告。我们的算法,像矢量时钟一样,是精确的,但由于它是纯粹基于锁集的,因此它是有效的。我们已经在Kaffe Java虚拟机中实现了算法。我们的实现结合了对锁集的惰性评估和某些“短路检查”,这极大地提高了其效率。实验结果表明,我们的算法的开销远小于矢量时钟算法的开销,并且非常接近于我们的橡皮擦锁集算法的实现。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号