期刊文献+

多线程程序数据竞争的静态检测 被引量:21

Static Data-Race Detection for Multithread Programs
在线阅读 下载PDF
导出
摘要 多线程并发程序的广泛使用带来了更多的数据竞争错误·传统的数据竞争静态检测由于对并发语义和别名信息的保守分析会导致很多假错误·因此,提出了一个精确有效的静态检测框架:分析应用了精确的别名分析并静态模拟了访问事件发生序;为提高分析效率,检测算法提出了一个以对象为中心,结合Escape分析缩小检测范围的检测算法并配合设计了压缩的别名等价类表示·检测框架在一个静态Java编译器JTool上做了实现,对于测试程序取得了很好的分析结果· Multithreaded concurrent data race errors. Traditional static programs are finding wide application, which brings more detrimental race detection methods are bothered by false positives caused by conservative analysis of concurrent semantics and alias info. In this paper, a precise and effective analysis framework is proposed. The framework applies precise alias analysis and simulates the happen-before order statically. To improve efficiency, an object-based race checker is proposed and compact equality-class-based alias representation is designed. The framework is implemented in a Java compiler--JTool. Through empirical results, the precision and effectiveness of the proposed algorithm are demonstrated.
出处 《计算机研究与发展》 EI CSCD 北大核心 2006年第2期329-335,共7页 Journal of Computer Research and Development
基金 国家自然科学基金项目(60173049 60421001) 国家杰出青年科学基金项目(60125207)~~
关键词 并发程序 程序分析 数据竞争 别名分析 concurrent programs program analysis data race alias analysis
  • 相关文献

参考文献10

  • 1R. H. Netzer, B. P. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1992, 1(1) : 74-88.
  • 2J.D. Choi, A. Loginov, V. Sarkar. Static datarace analysis for multithreaded object-oriented programs. IBM Research, Tech.Rep. : RC22146, 2001.
  • 3C. Praun, T. Gross. Static conflict analysis for multi-threaded object-oriented programs. In: Proc. ACM SIGPLAN 2003 Conf.Programming Language Design and Implementation. New York:ACM Press, 2003. 115-128.
  • 4Dawson Engler, Ken Ashcraft. RacerX: Effective, static detection of race conditions and deadlocks. ACM Symposium on Operating Systems Principles. New York: ACM Press, 2003.237-252.
  • 5J. Choi, K. Lee, A. Loginov, et al. Efficient and precise datarace detection for multithreaded object-oriented programs. In:Proc. ACM SIGPLAN 2002 Conf. Programming Language Design and Implementation. New York: ACM Press, 2002. 258- 269.
  • 6W. Landi. Undecidability of static analysis. ACM Letters on Programming Languages and Systems, 1992, 1 (4) : 323- 337.
  • 7Erik Ruf, Effective synchronization removal for Java. In: Proc.ACM SIGPLAN 2000 Conf. Programming Language Design and Implementation. New York: ACM Press, 2000. 208-218.
  • 8L, Lamport. Time, clocks, and the ordering of events in a distributed system, Communications of the ACM, 1978, 21 (7) :558-565.
  • 9Martin Rinard. The flex program analysis and compilation system,http://www.flex-compiler. csail. mit. edu, 1999-06-10.
  • 10.[EB/OL].http ://www. codeproject. com/,2004.

同被引文献158

引证文献21

二级引证文献67

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部