The Probabilistic Concurrency Testing (PCT) algorithm provides theoretical guarantees for the probability of detecting concurrency bugs in a sequential consistency memory model, but its theoretical guarantees do not apply to weak memory concurrency. The weak memory concurrency refers to the modern compiler’s optimization that relaxes the sequential consistency requirements. The PCT approach is based on the sequential consistency interleaving semantics, which does not hold for weak memory concurrency. It is because weak memory concurrency allows additional behaviors that cannot be produced by any interleaving execution.Based on the PCT algorithm transforming the concurrency bug to the ordering constraints(bug depth), this thesis presents Pro...
Testing multithreaded programs is difficult as threads can interleave in a nondeterministic fashion....
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
The Probabilistic Concurrency Testing (PCT) algorithm that provides theoretical guarantees on the pr...
Concurrency bugs are easy to introduce but dif- ficult to detect, especially in implementations of d...
The artifact for paper "Probabilistic Concurrency Testing for Weak Memory Concurrency" in ASPLOS2023
Weak-memory models are standard formal specifications of concurrency across hardware, programming la...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrency poses a major challenge for program verification, but it can also offer an opportunity t...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Testing multithreaded programs is difficult as threads can interleave in a nondeterministic fashion....
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
The Probabilistic Concurrency Testing (PCT) algorithm that provides theoretical guarantees on the pr...
Concurrency bugs are easy to introduce but dif- ficult to detect, especially in implementations of d...
The artifact for paper "Probabilistic Concurrency Testing for Weak Memory Concurrency" in ASPLOS2023
Weak-memory models are standard formal specifications of concurrency across hardware, programming la...
Weak consistency is a memory model that is frequently considered for shared memory systems. Its most...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Developing correct and performant concurrent systems is a major challenge. When programming an appli...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Concurrency poses a major challenge for program verification, but it can also offer an opportunity t...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Compilers sometimes generate correct sequential code but break the concurrency memory model of the p...
Testing multithreaded programs is difficult as threads can interleave in a nondeterministic fashion....
Concurrency bugs are notoriously hard to detect and reproduce. Controlled concurrency testing (CCT) ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...