SMACK: Decoupling source language details from verifier implementations

Z Rakamarić, M Emmi - … : 26th International Conference, CAV 2014, Held …, 2014 - Springer
A major obstacle to putting software verification research into practice is the high cost of
developing the infrastructure enabling the application of verification algorithms to actual …

On the completeness of verifying message passing programs under bounded asynchrony

A Bouajjani, C Enea, K Ji, S Qadeer - … Conference, CAV 2018, Held as Part …, 2018 - Springer
We address the problem of verifying message passing programs, defined as a set of
processes communicating through unbounded FIFO buffers. We introduce a bounded …

A concurrent program logic with a future and history

R Meyer, T Wies, S Wolff - Proceedings of the ACM on Programming …, 2022 - dl.acm.org
Verifying fine-grained optimistic concurrent programs remains an open problem. Modern
program logics provide abstraction mechanisms and compositional reasoning principles to …

Verifying eventual consistency of optimistic replication systems

A Bouajjani, C Enea, J Hamza - Proceedings of the 41st ACM SIGPLAN …, 2014 - dl.acm.org
We address the verification problem of eventual consistency of optimistic replication
systems. Such systems are typically used to implement distributed data structures over large …

Tractable refinement checking for concurrent objects

A Bouajjani, M Emmi, C Enea, J Hamza - Proceedings of the 42nd …, 2015 - dl.acm.org
Efficient implementations of concurrent objects such as semaphores, locks, and atomic
collections are essential to modern computing. Yet programming such objects is error prone …

Proving highly-concurrent traversals correct

YMY Feldman, A Khyzha, C Enea, A Morrison… - Proceedings of the …, 2020 - dl.acm.org
Modern highly-concurrent search data structures, such as search trees, obtain multi-core
scalability and performance by having operations traverse the data structure without any …

Proving linearizability using forward simulations

A Bouajjani, M Emmi, C Enea, SO Mutluergil - Computer Aided Verification …, 2017 - Springer
Linearizability is the standard correctness criterion for concurrent data structures such as
stacks and queues. It allows to establish observational refinement between a concurrent …

Verifying concurrent search structure templates

S Krishna, N Patel, D Shasha, T Wies - Proceedings of the 41st ACM …, 2020 - dl.acm.org
Concurrent separation logics have had great success reasoning about concurrent data
structures. This success stems from their application of modularity on multiple levels, leading …

[HTML][HTML] On reducing linearizability to state reachability

A Bouajjani, M Emmi, C Enea, J Hamza - Information and Computation, 2018 - Elsevier
Efficient implementations of atomic objects such as concurrent stacks and queues are
especially susceptible to programming errors, and necessitate automatic verification …

Sound, complete, and tractable linearizability monitoring for concurrent collections

M Emmi, C Enea - Proceedings of the ACM on Programming Languages, 2017 - dl.acm.org
While many program properties like the validity of assertions and in-bounds array accesses
admit nearly-trivial monitoring algorithms, the standard correctness criterion for concurrent …