One of the major difficulties in debugging concurrent programs is that the programmer usually experiences frequent thread context switches, which perplexes the reasoning process. This problem can be alleviated by trace simplification techniques, which produce the same computation process but with much fewer number of context switches. The state of the art trace simplification technique takes a dynamic approach and does not scale well to large traces, hampering its practicality. We present a static trace simplification approach, SimTrace, that dramatically improves the efficiency of trace simplification through reasoning about the computation equivalence of traces offline. By constructing a dependence graph model of events, our trace simplif...
There are few runtime tools for modestly sized computing systems, with 10^3 processors, and above th...
In this paper, we present a concept of compacting the error traces generated by pseudo-random/random...
Tracing is a tool frequently used in the debugging and optimization of software. While there exist d...
Abstract—Execution of concurrent programs implies frequent switching between different thread contex...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
As computational systems grow more and more complex, their debugging and performance optimization be...
Debugging, which entails locating program faults responsible for a program failure, is more difficul...
This thesis describes the design and implementation of an integrated debugging system for parallel p...
AbstractChecking the reliability of software is an ever growing challenge. Fully automatic tools tha...
Modern computing systems typically relax execution determinism, for instance by allowing the CPU sch...
Testing and debugging parallel programs is often difficult and tedious since concurrently executing ...
There are few runtime tools for modestly sized computing systems, with 10^3 processors, and above th...
In this paper, we present a concept of compacting the error traces generated by pseudo-random/random...
Tracing is a tool frequently used in the debugging and optimization of software. While there exist d...
Abstract—Execution of concurrent programs implies frequent switching between different thread contex...
Multicore is here to stay. To keep up with the hardware innovation, software developers mustmove fro...
Concurrent programs are ubiquitous, from the high-end servers to personal machines, due to the fact ...
A common debugging strategy involves re-executing a program (on a given input) over and over, each t...
Debugging concurrent programs is known to be difficult due to scheduling non-determinism. The techni...
We present a method and a tool for generating succinct representations of sets of concurrent traces....
As computational systems grow more and more complex, their debugging and performance optimization be...
Debugging, which entails locating program faults responsible for a program failure, is more difficul...
This thesis describes the design and implementation of an integrated debugging system for parallel p...
AbstractChecking the reliability of software is an ever growing challenge. Fully automatic tools tha...
Modern computing systems typically relax execution determinism, for instance by allowing the CPU sch...
Testing and debugging parallel programs is often difficult and tedious since concurrently executing ...
There are few runtime tools for modestly sized computing systems, with 10^3 processors, and above th...
In this paper, we present a concept of compacting the error traces generated by pseudo-random/random...
Tracing is a tool frequently used in the debugging and optimization of software. While there exist d...