Concurrency in data structures is crucial to the performance of multithreaded programs in shared-memory multiprocessor environments. However, greater concurrency also increases the difficulty of verifying correctness of the data structure. Model checking has been used for verifying concurrent data structures satisfy the correctness condition ‘linearizability’. In particular, ‘automatic’ tools achieve verification without requiring user-specified linearization points. This has several advantages, but is generally not scalable. We examine the automatic checking used by Vechev et al. in their 2009 work to understand the scalability issues of automatic checking in SPIN. We then describe a new, more scalable automatic technique based on these in...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Abstract. The design of concurrent algorithms tends to be a long and difficult process. Increasing t...
Concurrent algorithms are notoriously difficult to design correctly, and high performance algorithms...
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
Human beings have gradually become dependent on computers, and more specifically, the software that ...
Abstract—We describe an extension of the SPIN model checker for use on multicore shared-memory syste...
We describe an extension of the SPIN model checker for use on multi-core shared-memory systems and r...
Linearizability is the standard notion of correctness for concurrent objects. A number of approaches...
We describe an extension of the SPIN model checker for use on multi-core shared-memory systems and r...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
\u3cp\u3eModel checking (Baier and Katoen in Principles of model checking, MIT Press, Cambridge, 200...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Abstract. The design of concurrent algorithms tends to be a long and difficult process. Increasing t...
Concurrent algorithms are notoriously difficult to design correctly, and high performance algorithms...
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
This paper addresses the problem of automatically verifying correctness of concurrent algorithms, e....
Human beings have gradually become dependent on computers, and more specifically, the software that ...
Abstract—We describe an extension of the SPIN model checker for use on multicore shared-memory syste...
We describe an extension of the SPIN model checker for use on multi-core shared-memory systems and r...
Linearizability is the standard notion of correctness for concurrent objects. A number of approaches...
We describe an extension of the SPIN model checker for use on multi-core shared-memory systems and r...
The notions of serializability, linearizability and sequential consistency are used in the specifica...
\u3cp\u3eModel checking (Baier and Katoen in Principles of model checking, MIT Press, Cambridge, 200...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Linearizability is an important correctness criterion for implementations of concurrent objects. Aut...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Abstract. The design of concurrent algorithms tends to be a long and difficult process. Increasing t...
Concurrent algorithms are notoriously difficult to design correctly, and high performance algorithms...