Atomicity violation detection using access interleaving invariants
Abstract
During execution of a program, the situation where the atomicity of a pair of instructions that are to be executed atomically is violated is identified, and a bug is detected as occurring in the program at the pair of instructions. The pairs of instructions that are to be executed atomically can be identified in different manners, such as by executing a program multiple times and using the results of those executions to automatically identify the pairs of instructions.
- Inventors:
- Issue Date:
- Research Org.:
- Univ. of Illinois at Urbana-Champaign, IL (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1092760
- Patent Number(s):
- 8533681
- Application Number:
- 11/857,925
- Assignee:
- The Board of Trustees of the University of Illinois (Urbana, IL)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- FG02-05ER25688
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2007 Sep 19
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Zhou, Yuanyuan, Lu, Shan, and Tucek, Joseph Andrew. Atomicity violation detection using access interleaving invariants. United States: N. p., 2013.
Web.
Zhou, Yuanyuan, Lu, Shan, & Tucek, Joseph Andrew. Atomicity violation detection using access interleaving invariants. United States.
Zhou, Yuanyuan, Lu, Shan, and Tucek, Joseph Andrew. Tue .
"Atomicity violation detection using access interleaving invariants". United States. https://www.osti.gov/servlets/purl/1092760.
@article{osti_1092760,
title = {Atomicity violation detection using access interleaving invariants},
author = {Zhou, Yuanyuan and Lu, Shan and Tucek, Joseph Andrew},
abstractNote = {During execution of a program, the situation where the atomicity of a pair of instructions that are to be executed atomically is violated is identified, and a bug is detected as occurring in the program at the pair of instructions. The pairs of instructions that are to be executed atomically can be identified in different manners, such as by executing a program multiple times and using the results of those executions to automatically identify the pairs of instructions.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2013},
month = {9}
}
Works referenced in this record:
Bug isolation via remote program sampling
conference, January 2003
- Liblit, Ben; Aiken, Alex; Zheng, Alice X.
- Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation - PLDI '03
AVIO: detecting atomicity violations via access interleaving invariants
conference, January 2006
- Lu, Shan; Tucek, Joseph; Qin, Feng
- Proceedings of the 12th international conference on Architectural support for programming languages and operating systems - ASPLOS-XII
Language support for lightweight transactions
journal, November 2003
- Harris, Tim; Fraser, Keir
- ACM SIGPLAN Notices, Vol. 38, Issue 11
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants
conference, December 2005
- Zhou, Pin; Liu, Wei; Fei, Long
- 37th International Symposium on Microarchitecture (MICRO-37'04)
Coupled memory multiprocessor computer system including cache coherency management protocols
patent, April 1994
- Butts, Jr., H. Bruce; Orbits, David A.; Abramson, Kenneth D.
- US Patent Document 5,303,362
A type and effect system for atomicity
journal, May 2003
- Flanagan, Cormac; Qadeer, Shaz
- ACM SIGPLAN Notices, Vol. 38, Issue 5
Improving the accuracy of data race detection
conference, January 1991
- Netzer, Robert H. B.; Miller, Barton P.
- Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming - PPOPP '91
How fail-stop are faulty programs?
conference, January 1998
- Chandra, S.; Chen, P. M.
- 28th International Symposium on Fault Tolerant Computing, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224)
Quickly detecting relevant program invariants
conference, January 2000
- Enst, Michael D.; Czeisler, Adam; Griswold, William G.
- Proceedings of the 22nd international conference on Software engineering - ICSE '00
Transactional Memory Coherence and Consistency
journal, March 2004
- Hammond, Lance; Olukotun, Kunle; Wong, Vicky
- ACM SIGARCH Computer Architecture News, Vol. 32, Issue 2
Unbounded Transactional Memory
conference, January 2005
- Ananian, C. S.; Asanovic, K.; Kuszmaul, B. C.
- 11th International Symposium on High-Performance Computer Architecture
CORD: Cost-effective (and nearly overhead-free) Order-Recording and Data race detection
conference, January 2006
- Prvulovic, M.
- The Twelfth International Symposium on High-Performance Computer Architecture, 2006.
Online data-race detection via coherency guarantees
conference, January 1996
- Perkovic, Dejan; Keleher, Peter J.
- Proceedings of the second USENIX symposium on Operating systems design and implementation - OSDI '96
Efficient and precise datarace detection for multithreaded object-oriented programs
journal, May 2002
- Choi, Jong-Deok; Lee, Keunwoo; Loginov, Alexey
- ACM SIGPLAN Notices, Vol. 37, Issue 5
Protocol-based data-race detection
conference, January 1998
- Richards, Brad; Larus, James R.
- Proceedings of the SIGMETRICS symposium on Parallel and distributed tools - SPDT '98
Piranha: a scalable architecture based on single-chip multiprocessing
conference, January 2000
- Barroso, Luiz André; Gharachorloo, Kourosh; McNamara, Robert
- Proceedings of the 27th annual international symposium on Computer architecture - ISCA '00
SimFlex: a fast, accurate, flexible full-system simulation framework for performance evaluation of server architecture
journal, March 2004
- Hardavellas, Nikolaos; Somogyi, Stephen; Wenisch, Thomas F.
- ACM SIGMETRICS Performance Evaluation Review, Vol. 31, Issue 4
Ownership types for safe programming: preventing data races and deadlocks
journal, November 2002
- Boyapati, Chandrasekhar; Lee, Robert; Rinard, Martin
- ACM SIGPLAN Notices, Vol. 37, Issue 11
RacerX: effective, static detection of race conditions and deadlocks
journal, December 2003
- Engler, Dawson; Ashcraft, Ken
- ACM SIGOPS Operating Systems Review, Vol. 37, Issue 5
Race checking by context inference
journal, June 2004
- Henzinger, Thomas A.; Jhala, Ranjit; Majumdar, Rupak
- ACM SIGPLAN Notices, Vol. 39, Issue 6
Eraser: a dynamic data race detector for multithreaded programs
journal, November 1997
- Savage, Stefan; Burrows, Michael; Nelson, Greg
- ACM Transactions on Computer Systems, Vol. 15, Issue 4
An empirical comparison of monitoring algorithms for access anomaly detection
journal, March 1990
- Dinning, A.; Schonberg, E.
- ACM SIGPLAN Notices, Vol. 25, Issue 3
Valgrind
journal, October 2003
- Nethercote, Nicholas; Seward, Julian
- Electronic Notes in Theoretical Computer Science, Vol. 89, Issue 2
A "flight data recorder" for enabling full-system multiprocessor deterministic replay
conference, January 2003
- Xu, Min; Bodik, Rastislav; Hill, Mark D.
- Proceedings of the 30th annual international symposium on Computer architecture - ISCA '03
Efficient on-the-fly data race detection in multithreaded C++ programs
conference, January 2003
- Pozniansky, Eli; Schuster, Assaf
- Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '03
ReEnact: using thread-level speculation mechanisms to debug data races in multithreaded codes
conference, January 2003
- Prvulovic, Milos; Torrellas, Josep
- Proceedings of the 30th annual international symposium on Computer architecture - ISCA '03
Object race detection
conference, January 2001
- von Praun, Christoph; Gross, Thomas R.
- Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications - OOPSLA '01
Time, clocks, and the ordering of events in a distributed system
journal, July 1978
- Lamport, Leslie
- Communications of the ACM, Vol. 21, Issue 7
Associating synchronization constraints with data in an object-oriented language
conference, January 2006
- Vaziri, Mandana; Tip, Frank; Dolby, Julian
- Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL'06
Static analysis of atomicity for programs with non-blocking synchronization
conference, January 2005
- Wang, Liqiang; Stoller, Scott D.
- Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '05
Type-based race detection for Java
conference, January 2000
- Flanagan, Cormac; Freund, Stephen N.
- Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation - PLDI '00
iWatcher: Efficient Architectural Support for Software Debugging
journal, March 2004
- Zhou, Pin; Qin, Feng; Liu, Wei
- ACM SIGARCH Computer Architecture News, Vol. 32, Issue 2
Identifying loops using DJ graphs
journal, November 1996
- Sreedhar, Vugranam C.; Gao, Guang R.; Lee, Yong-Fong
- ACM Transactions on Programming Languages and Systems, Vol. 18, Issue 6
Pin: building customized program analysis tools with dynamic instrumentation
journal, June 2005
- Luk, Chi-Keung; Cohn, Robert; Muth, Robert
- ACM SIGPLAN Notices, Vol. 40, Issue 6
A serializability violation detector for shared-memory server programs
journal, June 2005
- Xu, Min; BodÃk, Rastislav; Hill, Mark D.
- ACM SIGPLAN Notices, Vol. 40, Issue 6
Tracking down software bugs using automatic anomaly detection
conference, January 2002
- Hangal, Sudheendra; Lam, Monica S.
- Proceedings of the 24th international conference on Software engineering - ICSE '02
The SPLASH-2 programs: characterization and methodological considerations
journal, May 1995
- Woo, Steven Cameron; Ohara, Moriyoshi; Torrie, Evan
- ACM SIGARCH Computer Architecture News, Vol. 23, Issue 2
Atomizer: a dynamic atomicity checker for multithreaded programs
conference, January 2004
- Flanagan, Cormac; Freund, Stephen N.
- Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '04
Finding stale-value errors in concurrent programs
journal, August 2004
- Burrows, Michael; Leino, K. Rustan M.
- Concurrency and Computation: Practice and Experience, Vol. 16, Issue 12
Transactional memory: architectural support for lock-free data structures
conference, January 1993
- Herlihy, Maurice; Moss, J. Eliot B.
- Proceedings of the 20th annual international symposium on Computer architecture - ISCA '93
Runtime analysis of atomicity for multithreaded programs
journal, February 2006
- Wang, L.; Stoller, S. D.
- IEEE Transactions on Software Engineering, Vol. 32, Issue 2
BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging
journal, May 2005
- Narayanasamy, Satish; Pokam, Gilles; Calder, Brad
- ACM SIGARCH Computer Architecture News, Vol. 33, Issue 2
Automated type-based analysis of data races and atomicity
conference, January 2005
- Sasturkar, Amit; Agarwal, Rahul; Wang, Liqiang
- Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '05
RaceTrack: efficient detection of data race conditions via adaptive tracking
conference, January 2005
- Yu, Yuan; Rodeheffer, Tom; Chen, Wei
- Proceedings of the twentieth ACM symposium on Operating systems principles - SOSP '05
An efficient cache-based access anomaly detection scheme
journal, April 1991
- Min, Sang L.; Choi, Jong-Deok
- ACM SIGOPS Operating Systems Review, Vol. 25, Issue Special Issue
Hybrid dynamic data race detection
journal, October 2003
- O'Callahan, Robert; Choi, Jong-Deok
- ACM SIGPLAN Notices, Vol. 38, Issue 10
Hardware and Binary Modification Support for Code Pointer Protection From Buffer Overflow
conference, January 2004
- Tuck, N.; Calder, B.; Varghese, G.
- 37th International Symposium on Microarchitecture (MICRO-37'04)