摘要
多线程并发程序的广泛使用带来了更多的数据竞争错误·传统的数据竞争静态检测由于对并发语义和别名信息的保守分析会导致很多假错误·因此,提出了一个精确有效的静态检测框架:分析应用了精确的别名分析并静态模拟了访问事件发生序;为提高分析效率,检测算法提出了一个以对象为中心,结合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