Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can introduce subtle errors that are hard to detect and debug. Considerable effort has been made towards developing effective program analysis and verification techniques for concurrency bug detection. Most notably, runtime verification aims to infer the presence of concurrency bugs from the execution traces and has been shown very effective in practice. This thesis first develops an efficient runtime verification technique to detect unseen order violations from the observed execution. Our technique novelly extends existing predictive analyses that construct partial ordering over trace events in a streaming fashion, reporting unordered pairs of ...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
A runtime analysis technique is presented, which can predict errors in multi-threaded systems by exa...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
We present a new approach to check for Commutativity in concurrent programs from their run-time stat...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Program executions under relaxed memory model (rmm) semantics are significantly more difficult to an...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
A runtime analysis technique is presented, which can predict errors in multi-threaded systems by exa...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
We present a new approach to check for Commutativity in concurrent programs from their run-time stat...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Concurrent software has been increasingly adopted in recent years, mainly due to the introduction of...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Program executions under relaxed memory model (rmm) semantics are significantly more difficult to an...
Atomicity is an important correctness condition for concurrent systems. Informally, atomicity is the...
A runtime analysis technique is presented, which can predict errors in multi-threaded systems by exa...
With the development of multi-core processors, concurrent programs are becoming more and more popula...