Understanding memory and thread safety practices and issues in real-world Rust programs

B Qin, Y Chen, Z Yu, L Song, Y Zhang - Proceedings of the 41st ACM …, 2020 - dl.acm.org
Rust is a young programming language designed for systems software development. It aims
to provide safety guarantees like high-level languages and performance efficiency like low …

A randomized scheduler with probabilistic guarantees of finding bugs

S Burckhardt, P Kothari, M Musuvathi… - ACM SIGARCH …, 2010 - dl.acm.org
This paper presents a randomized scheduler for finding concurrency bugs. Like current
stress-testing methods, it repeatedly runs a given test program with supplied inputs …

Automated {Concurrency-Bug} Fixing

G Jin, W Zhang, D Deng - … Symposium on Operating Systems Design and …, 2012 - usenix.org
Concurrency bugs are widespread in multithreaded programs. Fixing them is time-
consuming and error-prone. We present CFix, a system that automates the repair of …

Maple: A coverage-driven testing tool for multithreaded programs

J Yu, S Narayanasamy, C Pereira… - Proceedings of the ACM …, 2012 - dl.acm.org
Testing multithreaded programs is a hard problem, because it is challenging to expose
those rare interleavings that can trigger a concurrency bug. We propose a new thread …

Internally deterministic parallel algorithms can be fast

GE Blelloch, JT Fineman, PB Gibbons… - Proceedings of the 17th …, 2012 - dl.acm.org
The virtues of deterministic parallelism have been argued for decades and many forms of
deterministic parallelism have been described and analyzed. Here we are concerned with …

Understanding real-world concurrency bugs in go

T Tu, X Liu, L Song, Y Zhang - Proceedings of the twenty-fourth …, 2019 - dl.acm.org
Go is a statically-typed programming language that aims to provide a simple, efficient, and
safe way to build multi-threaded software. Since its creation in 2009, Go has matured and …

ConSeq: detecting concurrency bugs through sequential errors

W Zhang, J Lim, R Olichandran, J Scherpelz… - ACM SIGARCH …, 2011 - dl.acm.org
Concurrency bugs are caused by non-deterministic interleavings between shared memory
accesses. Their effects propagate through data and control dependences until they cause …

Clap: Recording local executions to reproduce concurrency failures

J Huang, C Zhang, J Dolby - Acm Sigplan Notices, 2013 - dl.acm.org
We present CLAP, a new technique to reproduce concurrency bugs. CLAP has two key
steps. First, it logs thread local execution paths at runtime. Second, offline, it computes …

ConMem: detecting severe concurrency bugs through an effect-oriented approach

W Zhang, C Sun, S Lu - ACM Sigplan Notices, 2010 - dl.acm.org
Multicore technology is making concurrent programs increasingly pervasive. Unfortunately, it
is difficult to deliver reliable concurrent programs, because of the huge and non …

Failure sketching: A technique for automated root cause diagnosis of in-production failures

B Kasikci, B Schubert, C Pereira, G Pokam… - Proceedings of the 25th …, 2015 - dl.acm.org
Developers spend a lot of time searching for the root causes of software failures. For this,
they traditionally try to reproduce those failures, but unfortunately many failures are so hard …