跨线程临界区和高效动态竞争预测方法
摘要:锁集方法和偏序方法是保证动态数据竞争预测保持高效的两种主要方法。这些思想有许多变体,它们的共同假设是临界区中的事件属于同一个线程。我们有证据表明,实际情况中的临界区会跨越线程边界,即使周围的获取和释放事件发生在同一个线程中。我们引入了横跨线程的临界区的新概念,以捕捉这种情况,提供一个理论全面的框架,并研究它们对最先进的数据竞争分析技术的影响。对于诸如WCP、SDP和DCtp等sound偏序关系,横跨线程的临界区的出现会对它们的精度产生负面影响。对于诸如WDP和PWR等完全偏序关系,横跨线程的临界区有助于消除更多的误报。对于锁集构建也有相同的(正面)影响。我们的实验评估证实了实践中存在横跨线程的临界区。对于完全关系PWR,我们能够减少误报数量。跟踪横跨线程临界区所产生的性能开销使分析的速度平均减慢了10\%-20\%。
作者:Martin Sulzmann and Peter Thiemann
论文ID:2307.09855
分类:Programming Languages
分类简称:cs.PL
提交时间:2023-07-20