JRF-E: using model checking to give advice on eliminating memory model-related bugs

作者:Kyung Hee Kim, Tuba Yavuz-Kahveci, Beverly A. Sanders

摘要

According to modern relaxed memory models, programs that contain data races need not be sequentially consistent. Executions that are not sequentially consistent may exhibit surprising behavior such as operations on a thread occurring in a different order than indicated by the source code, or different threads having inconsistent views of updates of shared variables. Java Racefinder (JRF) is an extension of Java Pathfinder (JPF), a model checker for Java bytecode. JRF precisely detects data races as defined by the Java memory model and can thus be used to verify sequential consistency. We describe an extension to JRF, JRF-Eliminator (JRF-E), that analyzes information collected during model checking, specifically counterexample traces and acquiring histories, and provides advice to the programmer on how to eliminate detected data races from a program. Once data races have been eliminated, standard model checking and other verification techniques that implicitly assume sequential consistency can be soundly employed to verify additional properties.

论文关键词:Data race, Relaxed memory model, Counterexample

论文评审过程:

论文官网地址:https://doi.org/10.1007/s10515-012-0109-4