首页> 外文期刊>IEEE Transactions on Software Engineering >Runtime analysis of atomicity for multithreaded programs
【24h】

Runtime analysis of atomicity for multithreaded programs

机译:多线程程序的原子性运行时分析

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

摘要

Atomicity is a correctness condition for concurrent systems. Informally, atomicity is the property that every concurrent execution of a set of transactions is equivalent to some serial execution of the same transactions. In multithreaded programs, executions of procedures (or methods) can be regarded as transactions. Correctness in the presence of concurrency typically requires atomicity of these transactions. Tools that automatically detect atomicity violations can uncover subtle errors that are hard to find with traditional debugging and testing techniques. This paper describes two algorithms for runtime detection of atomicity violations and compares their cost and effectiveness. The reduction-based algorithm checks atomicity based on commutativity properties of events in a trace; the block-based algorithm efficiently represents the relevant information about a trace as a set of blocks (i.e., pairs of events plus associated synchronizations) and checks atomicity by comparing each block with other blocks. To improve the efficiency and accuracy of both algorithms, we incorporate a multilockset algorithm for checking data races, dynamic escape analysis, and happen-before analysis. Experiments show that both algorithms are effective in finding atomicity violations. The block-based algorithm is more accurate but more expensive than the reduction-based algorithm.
机译:原子性是并发系统的正确性条件。非正式地,原子性是一组事务的每个并发执行等同于同一事务的某些串行执行的属性。在多线程程序中,过程(或方法)的执行可以视为事务。并发存在时的正确性通常需要这些事务的原子性。自动检测原子性违规的工具可以发现传统调试和测试技术很难发现的细微错误。本文描述了两种用于原子性违规的运行时检测的算法,并比较了它们的成本和有效性。基于归约的算法基于跟踪中事件的可交换性检查原子性;基于块的算法可将有关跟踪的相关信息有效地表示为一组块(即,事件对以及相关联的同步),并通过将每个块与其他块进行比较来检查原子性。为了提高两种算法的效率和准确性,我们引入了多锁集算法来检查数据竞争,动态转义分析和事前分析。实验表明,两种算法都能有效地发现原子性违规情况。与基于约简的算法相比,基于块的算法更准确,但价格更高。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号