Sound predictive race detection in polynomial time

Y Smaragdakis, J Evans, C Sadowski, J Yi… - ACM Sigplan …, 2012 - dl.acm.org
Data races are among the most reliable indicators of programming errors in concurrent
software. For at least two decades, Lamport's happens-before (HB) relation has served as …

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 …

Advances in symbolic execution

G Yang, A Filieri, M Borges, D Clun, J Wen - Advances in Computers, 2019 - Elsevier
Symbolic execution is a systematic technique for checking programs, which forms a basis for
various software testing and verification techniques. It provides a powerful analysis in …

Dynamic race prediction in linear time

D Kini, U Mathur, M Viswanathan - ACM SIGPLAN Notices, 2017 - dl.acm.org
Writing reliable concurrent software remains a huge challenge for today's programmers.
Programmers rarely reason about their code by explicitly considering different possible inter …

Generating data race witnesses by an SMT-based analysis

M Said, C Wang, Z Yang, K Sakallah - NASA Formal Methods Symposium, 2011 - Springer
Data race is one of the most dangerous errors in multithreaded programming, and despite
intensive studies, it remains a notorious cause of failures in concurrent systems. Detecting …

Controlled concurrency testing via periodical scheduling

C Wen, M He, B Wu, Z Xu, S Qin - Proceedings of the 44th International …, 2022 - dl.acm.org
Controlled concurrency testing (CCT) techniques have been shown promising for
concurrency bug detection. Their key insight is to control the order in which threads get …

Optimal prediction of synchronization-preserving races

U Mathur, A Pavlogiannis, M Viswanathan - Proceedings of the ACM on …, 2021 - dl.acm.org
Concurrent programs are notoriously hard to write correctly, as scheduling nondeterminism
introduces subtle errors that are both hard to detect and to reproduce. The most common …

Coverage guided systematic concurrency testing

C Wang, M Said, A Gupta - … of the 33rd International Conference on …, 2011 - dl.acm.org
Shared-memory multi-threaded programs are notoriously difficult to test, and because of the
often astronomically large number of thread schedules, testing all possible interleavings is …

Fast, sound, and effectively complete dynamic race prediction

A Pavlogiannis - Proceedings of the ACM on Programming Languages, 2019 - dl.acm.org
Writing concurrent programs is highly error-prone due to the nondeterminism in interprocess
communication. The most reliable indicators of errors in concurrency are data races, which …

Satisfiability modulo ordering consistency theory for multi-threaded program verification

F He, Z Sun, H Fan - Proceedings of the 42nd ACM SIGPLAN …, 2021 - dl.acm.org
Analyzing multi-threaded programs is hard due to the number of thread interleavings. Partial
orders can be used for modeling and analyzing multi-threaded programs. However, there is …