A runtime analysis technique is presented, which can predict concurrency errors in multithreaded systems by observing potentially non-erroneous executions. It builds upon a novel causal partial order, sliced causality, that weakens the classic but strict "happens-before" by using both static information about the program, such as control- and data-flow dependence, and dynamic synchronization information, such as lock-sets. A vector clock algorithm is introduced to automatically extract a sliced causality from any execution. A memory-efficient procedure then checks all causally consistent potential runs against properties given as monitors. If any of these runs violates a property, it is returned as a "predicted" counter-example. This runtim...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Extracting causal models from observed executions has proved to be an effective approach to analyze ...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
A runtime analysis technique is presented, which can predict errors in multi-threaded systems by exa...
A runtime analysis technique is presented, which can predict con-currency errors in multithreaded sy...
Predictive runtime analysis has been proposed to improve the effectiveness of concurrent program ana...
We present a technique to predict property violations in multi-threaded programs from successful exe...
Happen-before causal partial order relations have been widely used in concurrent program verificatio...
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...
Because debugging concurrent software failures is so challenging, there has been much interest in de...
Abstract. Predictive analysis aims at detecting concurrency errors during run-time by monitoring a c...
This paper presents an automatic code instrumentation technique, based on multithreaded vector clock...
A generalized predictive analysis technique is proposed for detecting violations of safety propertie...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Extracting causal models from observed executions has proved to be an effective approach to analyze ...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
A runtime analysis technique is presented, which can predict errors in multi-threaded systems by exa...
A runtime analysis technique is presented, which can predict con-currency errors in multithreaded sy...
Predictive runtime analysis has been proposed to improve the effectiveness of concurrent program ana...
We present a technique to predict property violations in multi-threaded programs from successful exe...
Happen-before causal partial order relations have been widely used in concurrent program verificatio...
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...
Because debugging concurrent software failures is so challenging, there has been much interest in de...
Abstract. Predictive analysis aims at detecting concurrency errors during run-time by monitoring a c...
This paper presents an automatic code instrumentation technique, based on multithreaded vector clock...
A generalized predictive analysis technique is proposed for detecting violations of safety propertie...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Concurrency is an indispensable programming paradigm and multi-threaded programs form the bedrock of...
Extracting causal models from observed executions has proved to be an effective approach to analyze ...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...