Characterizing Real World Bugs Causing Sequential Consistency Violations

Authors: 

Mohammad Majharul Islam and Abdullah Muzahid, University of Texas at San Antonio

Abstract: 

With the ubiquitous availability of parallel architectures, the burden falls on programmers’ shoulders to write correct parallel programs that have high performance and portability across different systems. One of the major issues that complicates this task is the intricacies involved with the underlying memory consistency models. Sequential Consistency (SC) is the simplest and most intuitive memory model. Therefore, programmers usually assume SC for writing parallel programs. However, various concurrency bugs can lead to violations of SC. These subtle bugs make the program difficult to reason about and virtually always lead to incorrectness. This paper provides the first (to the best of our knowledge) comprehensive characteristics study of SC violation bugs that appear in real world codebases.

We have carefully examined pattern, manifestation, effect, and fix strategy of 20 SC violation bugs. These bugs have been selected from randomly chosen 127 concurrency bugs from a variety of open source programs and libraries (e.g. Mozilla, Apache, MySQL, Gcc, Cilk, Java, and Splash2). Our study reveals interesting findings and provides useful guidance for future research in this area.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {179430,
author = {Mohammad Majharul Islam and Abdullah Muzahid},
title = {Characterizing Real World Bugs Causing Sequential Consistency Violations},
booktitle = {5th USENIX Workshop on Hot Topics in Parallelism (HotPar 13)},
year = {2013},
address = {San Jose, CA},
url = {https://www.usenix.org/conference/hotpar13/workshop-program/presentation/islam},
publisher = {USENIX Association},
month = jun
}

Presentation Video

Presentation Audio