Static data-race detection for multithread programs

被引:1
作者
Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China [1 ]
不详 [2 ]
机构
[1] Department of Computer Science and Technology, University of Science and Technology of China
[2] Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences
来源
Jisuanji Yanjiu yu Fazhan | 2006年 / 2卷 / 329-335期
关键词
Alias analysis; Concurrent programs; Data race; Program analysis;
D O I
10.1360/crad20060221
中图分类号
学科分类号
摘要
Multithreaded concurrent programs are finding wide application, which brings more detrimental data race errors. Traditional static 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.
引用
收藏
页码:329 / 335
页数:6
相关论文
共 10 条
  • [1] Netzer R.H., Miller B.P., What are race conditions? Some issues and formalizations, ACM Letters on Programming Languages and Systems, 1, 1, pp. 74-88, (1992)
  • [2] Choi J.-D., Loginov A., Sarkar V., Static datarace analysis for multithreaded object-oriented programs, (2001)
  • [3] Praun C., Gross T., Static conflict analysis for multi-threaded object-oriented programs, Proc. ACM SIGPLAN 2003 Conf. Programming Language Design and Implementation, pp. 115-128, (2003)
  • [4] Engler D., Ashcraft K., RacerX: Effective, static detection of race conditions and deadlocks, ACM Symposium on Operating Systems Principles, pp. 237-252, (2003)
  • [5] Choi J., Lee K., Loginov A., Efficient and precise datarace detection for multithreaded object-oriented programs, Proc. ACM SIGPLAN 2002 Conf. Programming Language Design and Implementation, pp. 258-269, (2002)
  • [6] Landi W., Undecidability of static analysis, ACM Letters on Programming Languages and Systems, 1, 4, pp. 323-337, (1992)
  • [7] Ruf E., Effective synchronization removal for Java, Proc. ACM SIGPLAN 2000 Conf. Programming Language Design and Implementation, pp. 208-218, (2000)
  • [8] Lamport L., Time, clocks, and the ordering of events in a distributed system, Communications of the ACM, 21, 7, pp. 558-565, (1978)
  • [9] Rinard M., The flex program analysis and compilation system, (1999)
  • [10] (2004)