Atomicity is a fundamental correctness property in multithreaded programs. This paper presents an algorithm for verifying atomicity via type inference. The underlying type system supports guarded, write-guarded, and unguarded fields, as well as thread-local data, parameterized classes and methods, and protected locks. We describe an implementation of this algorithm for Java and discuss its performance and usability on benchmarks totaling sixty thousand lines of code. Categories and Subject Descriptors: D.2.4 [Software Engineering]: Software/Program Verification–reliability; F.3.1 [Logics an
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
An unpublished algorithm of Haldar and Vidyasankar implements an atomic variable of an arbitrary typ...
The objective of the lectures is to present type-based and logic-based mechanisms to ensure reliabil...
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected...
AbstractEnsuring the correctness of multithreaded programs is difficult, due to the potential for un...
Using thread-safe libraries can help programmers avoid the complexities of multithreading. However, ...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
We present an implementation and evaluation of atomicity (also known as software transactions) for a...
Several languages now provide atomic block syntax to bracket code in which atomicity must be preserv...
An unpublished algorithm implements an atomic variable of an arbitrary type T for one writer and one...
Abstract: "Atomic transactions are a widely-accepted technique for organizing computation in fault-t...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
The atomic block, a synchronization primitive provided to programmers in transactional memory system...
Abstract. Atomicity (or linearizability) is a commonly used consistency criterion for distributed se...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
An unpublished algorithm of Haldar and Vidyasankar implements an atomic variable of an arbitrary typ...
The objective of the lectures is to present type-based and logic-based mechanisms to ensure reliabil...
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected...
AbstractEnsuring the correctness of multithreaded programs is difficult, due to the potential for un...
Using thread-safe libraries can help programmers avoid the complexities of multithreading. However, ...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
We present an implementation and evaluation of atomicity (also known as software transactions) for a...
Several languages now provide atomic block syntax to bracket code in which atomicity must be preserv...
An unpublished algorithm implements an atomic variable of an arbitrary type T for one writer and one...
Abstract: "Atomic transactions are a widely-accepted technique for organizing computation in fault-t...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
The atomic block, a synchronization primitive provided to programmers in transactional memory system...
Abstract. Atomicity (or linearizability) is a commonly used consistency criterion for distributed se...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
An unpublished algorithm of Haldar and Vidyasankar implements an atomic variable of an arbitrary typ...
The objective of the lectures is to present type-based and logic-based mechanisms to ensure reliabil...