Abstract:
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.