Research on Atomicity
Multithreaded programs often exhibit erroneous behavior because of unintended interactions between threads. Much work on this problem has focused on simultaneous-access race conditions, but the absence of race conditions is insufficient to ensure the absence of errors due to unintended thread interactions.
We focus on the more fundamental non-interference property of atomicity. A method is atomic if its execution is not affected by and does not interfere with concurrently-executing threads. In other words, for every execution there is an equivalent serial execution in which the actions of the atomic procedure are not interleaved with actions of other threads. Atomic methods can be understood according to their sequential semantics, which significantly simplifies formal and informal correctness arguments and subsequent validation activities such as code inspection and testing.
We are currently pursuing several analysis techniques for checking atomicity properties, include static analyses based on type checking and type inference, as well as dynamic (run-time) approaches.
People
- Martín Abadi, University of California, Santa Cruz
- Cormac Flanagan, University of California, Santa Cruz
- Stephen Freund, Williams College
- Shaz Qadeer, Microsoft Research
We have also collaborated on some aspects of this work with other colleagues, including Edwin Rodríguez, Matthew Dwyer, John Hatcliff, Gary T. Leavens, and Robby.
Papers
- PLDI 2010
- PASTE 2010
- TLDI 2010
-
PLDI 2009
FastTrack: Efficient and Precise Dynamic Race DetectionA revised version of this paper appeared in CACM research highlights, Nov. 2010.
- ESOP 2009
- PLDI 2008
- TOPLAS 2008
- WMM 2008
- SCP 2008
- SCP 2007
- TOPLAS 2006
- FATES/RV 2006
- SCOOL 2005
- TLDI 2005
- POPL 2005
- TCS 2005
- TSE 2005
- ECOOP 2005
- ISSTA 2004
- 2004
- SAS 2004
- 2004
- 2004
- JOT 2004
- SPIN 2004
- POPL 2004
- SoftMC 2003
- FTFJP 2003
- PLDI 2003
- TLDI 2003
- 2001
Extended Talks
-
2006
Lectures on Static and Dynamic Analyses for ConcurrencyLecture 1: ppt · pdf (6/page) · pdf (1/page)
Lecture 2: ppt · pdf (6/page) · pdf (1/page)
Lecture 3: ppt · pdf (6/page) · pdf (1/page)
Lecture 4: ppt · pdf (6/page) · pdf (1/page) - PLDI 2005
- 2005
Earlier Work on Race Conditions
- PASTE 2001
- PLDI 2000
- LICS 2000
- CONCUR 1999
- ESOP 1999
Funding
This material is based upon work supported by the National Science Foundation under Grant No. 0341179 and Grant No. 0341387 and by a Fellowship from the Sloan Foundation. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.