Software model checking for people who love automata

M Heizmann, J Hoenicke, A Podelski - … , July 13-19, 2013. Proceedings 25, 2013 - Springer
In this expository paper, we use automata for software model checking in a new way. The
starting point is to fix the alphabet: the set of statements of the given program. We show how …

Automated hypersafety verification

A Farzan, A Vandikas - … : 31st International Conference, CAV 2019, New …, 2019 - Springer
We propose an automated verification technique for hypersafety properties, which express
sets of valid interrelations between multiple finite runs of a program. The key observation is …

Ogre and Pythia: an invariance proof method for weak consistency models

J Alglave, P Cousot - Proceedings of the 44th ACM SIGPLAN …, 2017 - dl.acm.org
We design an invariance proof method for concurrent programs parameterised by a weak
consistency model. The calculational design of the invariance proof method is by abstract …

Canary: practical static detection of inter-thread value-flow bugs

Y Cai, P Yao, C Zhang - Proceedings of the 42nd ACM SIGPLAN …, 2021 - dl.acm.org
Concurrent programs are still prone to bugs arising from the subtle interleavings of threads.
Traditional static analysis for concurrent programs, such as data-flow analysis and symbolic …

Reductions for safety proofs

A Farzan, A Vandikas - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
Program reductions are used widely to simplify reasoning about the correctness of
concurrent and distributed programs. In this paper, we propose a general approach to proof …

A widening approach to multithreaded program verification

A Kaiser, D Kroening, T Wahl - ACM Transactions on Programming …, 2014 - dl.acm.org
Pthread-style multithreaded programs feature rich thread communication mechanisms, such
as shared variables, signals, and broadcasts. In this article, we consider the automated …

Thread modularity at many levels: a pearl in compositional verification

J Hoenicke, R Majumdar, A Podelski - ACM SIGPLAN Notices, 2017 - dl.acm.org
A thread-modular proof for the correctness of a concurrent program is based on an inductive
and interference-free annotation of each thread. It is well-known that the corresponding …

Selective control-flow abstraction via jumping

S Blackshear, BYE Chang, M Sridharan - ACM SIGPLAN Notices, 2015 - dl.acm.org
We present jumping, a form of selective control-flow abstraction useful for improving the
scalability of goal-directed static analyses. Jumping is useful for analyzing programs with …

Compositional reasoning

D Giannakopoulou, KS Namjoshi… - Handbook of Model …, 2018 - Springer
State Explosion is a fundamental challenge for model checking methods. This term refers to
the potentially exponential growth of the state space of a program as a function of the …

Proof spaces for unbounded parallelism

A Farzan, Z Kincaid, A Podelski - ACM SIGPLAN Notices, 2015 - dl.acm.org
In this paper, we present a new approach to automatically verify multi-threaded programs
which are executed by an unbounded number of threads running in parallel. The starting …