首页> 外文会议>International Conference on Fundamental Approaches to Soft ware Engineering >HAVE: Detecting Atomicity Violations via Integrated Dynamic and Static Analysis
【24h】

HAVE: Detecting Atomicity Violations via Integrated Dynamic and Static Analysis

机译:具有:通过集成的动态和静态分析检测原子性违规

获取原文
获取外文期刊封面目录资料

摘要

The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately, writing correct concurrent programs is difficult. Atomicity violation, which is caused by concurrently executing code unexpectedly violating the atomicity of a code segment, is one of the most common concurrency errors. However, atomicity violations are hard to find using traditional testing and debugging techniques. This paper presents a hybrid approach that integrates static and dynamic analyses to attack this problem. We first perform static analysis to obtain summaries of synchronizations and accesses to shared variables. The static summaries are then instantiated with runtime values during dynamic executions to speculatively approximate the behaviors of branches that are not taken. Compared to dynamic analysis, the hybrid approach is able to detect atomicity violations in unexecuted parts of the code. Compared to static analysis, the hybrid approach produces fewer false alarms. We implemented this hybrid analysis in a tool called HAVE that detects atomicity violations in multi-threaded Java programs. Experiments on several benchmarks and real-world applications demonstrate promising results.
机译:多核硬件的现实使普遍存在的程序并发。不幸的是,写出正确的并发程序很难。由意外地执行代码违反代码段的原子的代码而导致的原子违规是最常见的并发错误之一。然而,使用传统测试和调试技术很难找到原子性违规。本文介绍了一种混合方法,可以集成静态和动态分析以攻击此问题。我们首先执行静态分析以获取同步摘要并访问共享变量。然后,在动态执行期间,在动态执行期间将静态摘要实例化,以引用近似于未采取的分支的行为。与动态分析相比,混合方法能够检测代码未安全的部分中的原子性违规。与静态分析相比,混合方法产生较少的误报。我们在一个名为的工具中实现了这种混合分析,该工具可检测多线程Java程序中的原子性违规。关于几个基准和现实世界应用的实验表明了有希望的结果。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号