当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
BarrierFinder: recognizing ad hoc barriers
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2020-09-01 , DOI: 10.1007/s10664-020-09862-3
Tao Wang , Xiao Yu , Zhengyi Qiu , Guoliang Jin , Frank Mueller

Ad hoc synchronizations are pervasive in multi-threaded programs. Due to their diversity and complexity, understanding the enforced synchronization relationships of ad hoc synchronizations is challenging but crucial to multi-threaded program development and maintenance. Existing techniques can partially detect primitive ad hoc synchronizations, but they cannot recognize complete implementations or infer the enforced synchronization relationships. In this paper, we propose a framework to automatically identify complex ad hoc synchronizations in full and infer their synchronization relationships. We instantiate the framework with a tool called BarrierFinder, which features various techniques, including program slicing and bounded symbolic execution, to efficiently explore the interleaving space of ad hoc synchronizations within multi-threaded programs and collect execution traces. BarrierFinder then uses these traces to characterize ad hoc synchronizations into different types with a focus on recognizing barriers. Our evaluation shows that BarrierFinder is both effective and efficient in doing this, and BarrierFinder is also helpful for programmers to understand the correctness of their implemented ad hoc synchronizations.

中文翻译:

BarrierFinder:识别临时障碍

Ad hoc 同步在多线程程序中很普遍。由于它们的多样性和复杂性,理解临时同步的强制同步关系具有挑战性,但对多线程程序开发和维护至关重要。现有技术可以部分检测原始点对点同步,但它们无法识别完整的实现或推断强制同步关系。在本文中,我们提出了一个框架来自动完全识别复杂的临时同步并推断它们的同步关系。我们使用名为 BarrierFinder 的工具实例化框架,该工具具有各种技术,包括程序切片和有界符号执行,有效地探索多线程程序中临时同步的交错空间并收集执行跟踪。BarrierFinder 然后使用这些跟踪将临时同步表征为不同类型,重点是识别障碍。我们的评估表明 BarrierFinder 在这方面既有效又高效,而且 BarrierFinder 也有助于程序员了解他们实现的临时同步的正确性。
更新日期:2020-09-01
down
wechat
bug