Conference Proceedings
Using "must" and "may" summaries to detect data races in Java bytecode that does not rely on the synchronized construct
DAW Clarke, T Miller, A Mendoza
ACM International Conference Proceeding Series | Published : 2015
Abstract
The Java Memory Model (JMM) offers significant guarantees of sequentially consistent behaviour where concurrent access to shared data is regulated by synchronisation. Using the Java synchronized construct incurs high overheads. Using other light-weight protocols for synchronization is much cheaper, though more prone to error. We propose a static analysis approach to detecting race conditions in such Java programs. Our approach analyses the use of shared variables within programs, and summarises these using must and may summaries. It compares these summaries across control-flow paths to determine whether a data race "must" exist or "may" exist, given some assumptions of program semantics. We ..
View full abstract