【24h】

Using Block-Local Atomicity to Detect Stale-Value Concurrency Errors

机译:使用块局部原子性检测陈旧值并发错误

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

摘要

Data races do not cover all kinds of concurrency errors. This paper presents a data-flow-based technique to find stale-value errors, which are not found by low-level and high-level data race algorithms. Stale values denote copies of shared data where the copy is no longer synchronized. The algorithm to detect such values works as a consistency check that does not require any assumptions or annotations of the program. It has been implemented as a static analysis in JNuke. The analysis is sound and requires only a single execution trace if implemented as a run-time checking algorithm. Being based on an analysis of Java bytecode, it encompasses the full program semantics, including arbitrarily complex expressions. Related techniques are more complex and more prone to over-reporting.
机译:数据争用并不涵盖所有类型的并发错误。本文提出了一种基于数据流的技术来查找陈旧值错误,这是低级和高级数据争用算法所找不到的。过时的值表示共享数据的副本,其中副本不再同步。检测此类值的算法用作一致性检查,不需要任何假设或程序注释。它已在JNuke中作为静态分析实现。该分析是合理的,并且如果作为运行时检查算法实施,则仅需要单个执行跟踪。基于对Java字节码的分析,它包含完整的程序语义,包括任意复杂的表达式。相关技术更复杂,更容易发生过度报告。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号