Using lightweight formal methods to validate a key-value storage node in Amazon S3

J Bornholt, R Joshi, V Astrauskas, B Cully… - Proceedings of the …, 2021 - dl.acm.org
This paper reports our experience applying lightweight formal methods to validate the
correctness of ShardStore, a new key-value storage node implementation for the Amazon …

Snowboard: Finding kernel concurrency bugs through systematic inter-thread communication analysis

S Gong, D Altinbüken, P Fonseca… - Proceedings of the ACM …, 2021 - dl.acm.org
Kernel concurrency bugs are challenging to find because they depend on very specific
thread interleavings and test inputs. While separately exploring kernel thread interleavings …

GenMC: A Model Checker for Weak Memory Models

M Kokologiannakis, V Vafeiadis - International Conference on Computer …, 2021 - Springer
GenMC is an LLVM-based state-of-the-art stateless model checker for concurrent C/C++
programs. Its modular infrastructure allows it to support complex memory models, such as …

Jaaru: Efficiently model checking persistent memory programs

H Gorjiara, GH Xu, B Demsky - … of the 26th ACM International Conference …, 2021 - dl.acm.org
Persistent memory (PM) technologies combine near DRAM performance with persistency
and open the possibility of using one copy of a data structure as both a working copy and a …

{ARCUS}: symbolic root cause analysis of exploits in production systems

C Yagemann, M Pruett, SP Chung, K Bittick… - 30th USENIX Security …, 2021 - usenix.org
End-host runtime monitors (eg, CFI, system call IDS) flag processes in response to
symptoms of a possible attack. Unfortunately, the symptom (eg, invalid control transfer) may …

When threads meet events: efficient and precise static race detection with origins

B Liu, P Liu, Y Li, CC Tsai, D Da Silva… - Proceedings of the 42nd …, 2021 - dl.acm.org
Data races are among the worst bugs in software in that they exhibit non-deterministic
symptoms and are notoriously difficult to detect. The problem is exacerbated by interactions …

Execution reconstruction: Harnessing failure reoccurrences for failure reproduction

G Zuo, J Ma, A Quinn, P Bhatotia, P Fonseca… - Proceedings of the …, 2021 - dl.acm.org
Reproducing production failures is crucial for software reliability. Alas, existing bug
reproduction approaches are not suitable for production systems because they are not …

Stateless model checking under a reads-value-from equivalence

P Agarwal, K Chatterjee, S Pathak… - … on Computer Aided …, 2021 - Springer
Stateless model checking (SMC) is one of the standard approaches to the verification of
concurrent programs. As scheduling non-determinism creates exponentially large spaces of …

C11Tester: a race detector for C/C++ atomics

W Luo, B Demsky - Proceedings of the 26th ACM International …, 2021 - dl.acm.org
Writing correct concurrent code that uses atomics under the C/C++ memory model is
extremely difficult. We present C11Tester, a race detector for the C/C++ memory model that …

Bounded verification of multi-threaded programs via lazy sequentialization

O Inverso, E Tomasco, B Fischer, S La Torre… - ACM Transactions on …, 2021 - dl.acm.org
Bounded verification techniques such as bounded model checking (BMC) have successfully
been used for many practical program analysis problems, but concurrency still poses a …