In message-passing parallel applications, messages are not delivered in a strict order. The number of messages, their content and their destination may depend on the ordering of their delivery. Nevertheless, for most applications, the computation results should be the same for all possible orderings. Finding an ordering that produces a different outcome or that prevents the execution from terminating reveals a message race or a deadlock. Starting from the initial application state, we dynamically build an acyclic message-passing state graph such that each path within the graph represents one possible message ordering. All paths lead to the same final state if no deadlock or message race exists. If multiple final states are reached, we revea...
Abstract. Detection of infeasible code has recently been identified as a scalable and automated tech...
The ability to understand the factors contributing to parallel program performance are vital for und...
this paper, we model a process as a program that performs Turing-style computations. It can output p...
In message-passing parallel applications, messages are not delivered in a strict order. The number o...
Flow graphs provide an explicit description of the parallelization of an application by mapping vert...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
We discuss four issues concerning the semantics of Message Flow Graphs (MFGs). MFGs are extensively ...
Flow graph models have recently become increasingly popular as a way to express parallel computation...
Abstract—Message passing is a very popular style of parallel programming, used in a wide variety of ...
This paper presents a tool that enables programmers to use dynamic testing tools for de-bugging non-...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
Developing high-quality, error-free message-passing concurrent programs is not trivial. Although a n...
While various iterative graph algorithms can be expressed via asynchronous parallelism, lack of its ...
One of the key problems in designing and implementing graph analysis algorithms for distributed plat...
The ability to understand the factors contributing to parallel program performance are vital for un...
Abstract. Detection of infeasible code has recently been identified as a scalable and automated tech...
The ability to understand the factors contributing to parallel program performance are vital for und...
this paper, we model a process as a program that performs Turing-style computations. It can output p...
In message-passing parallel applications, messages are not delivered in a strict order. The number o...
Flow graphs provide an explicit description of the parallelization of an application by mapping vert...
We present an algorithm for automatic testing of distributed programs, such as Unix processes with i...
We discuss four issues concerning the semantics of Message Flow Graphs (MFGs). MFGs are extensively ...
Flow graph models have recently become increasingly popular as a way to express parallel computation...
Abstract—Message passing is a very popular style of parallel programming, used in a wide variety of ...
This paper presents a tool that enables programmers to use dynamic testing tools for de-bugging non-...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
Developing high-quality, error-free message-passing concurrent programs is not trivial. Although a n...
While various iterative graph algorithms can be expressed via asynchronous parallelism, lack of its ...
One of the key problems in designing and implementing graph analysis algorithms for distributed plat...
The ability to understand the factors contributing to parallel program performance are vital for un...
Abstract. Detection of infeasible code has recently been identified as a scalable and automated tech...
The ability to understand the factors contributing to parallel program performance are vital for und...
this paper, we model a process as a program that performs Turing-style computations. It can output p...