帮助 本站公告
您现在所在的位置:网站首页 > 知识中心 > 文献详情
文献详细Journal detailed

Java程序数据竞争的增量式检测
Incremental Detection of Data Race for Java Programs

作  者: ; ;

机构地区: 中国科学技术大学计算机科学与技术学院

出  处: 《西安交通大学学报》 2009年第8期22-27,58,共7页

摘  要: 针对静态竞争检测无额外运行开销但精度低,而动态竞争检测精度高但因插桩有额外运行开销,在实际Java虚拟机的即时编译器中以竞争检测遍形式设计实现了一种精确有效的增量式竞争检测算法.结合锁集和发生序关系,依次对即时编译的每个方法进行一次方法内分析,收集独立于上下文的方法摘要,并以方法摘要为基础自下而上进行上下文敏感的跨线程方法间分析,增量计算并及时输出潜在的竞争信息.实验表明,算法对应用程序无插桩且不受程序规模限制,具有与O’Callahan等人的动态竞争检测算法类似的精度,检测时间仅占总编译时间的2%~4%. Static race detection techniques consume no extra run-time cost but have lower precision, while dynamic ones have higher precision but consume extra run-time cost due to instrumentation. A new precise and efficient algorithm on incrementally detecting potential data races in Java programs is presented, which is implemented as a race detection pass in the just-in-time (JIT) compiler of the Java virtual machine. The algorithm combines lockset-based and happens-before-relation-based detection. Then the algorithm does an intra-method analysis on each method compiled by JIT in turn, and collects summaries independent of the context. The context-sensitive inter-thread analysis is proposed based on the method summaries, to compute incremental race information. The resulting information is output in time. Experimental results show that the algorithm has no instrumentation cost and unlimited program scale, and that the algorithm has the similar precision as O'Callahan, et al's algorithm on dynamic race detection, and consumes only 2%-4% of the total compilation time.

关 键 词: 增量式检测 数据竞争 程序分析 锁集 发生序关系

领  域: [自动化与计算机技术] [自动化与计算机技术] [自动化与计算机技术] [自动化与计算机技术]

相关作者

作者 何海燕

相关机构对象

机构 广东石油化工学院
机构 中山职业技术学院

相关领域作者

作者 李文姬
作者 邵慧君
作者 杜松华
作者 周国林
作者 邢弘昊