Traditional debuggers are of limited value for modern scientific codes that manipulate large complex data structures. This paper discusses a novel debug-time assertion, called a "Statistical Assertion", that allows a user to reason about large data structures, and the primitives are parallelised to provide an efficient solution. We present the design and implementation of statistical assertions, and illustrate the debugging technique with a molecular dynamics simulation. We evaluate the performance of the tool on a 12,000 cores Cray XE6
Detecting and isolating bugs that arise only at high processor counts is a challenging task. Over a ...
Relative debugging helps trace software errors by comparing two concurrent executions of a program -...
Debugging is a fundamental part of software development, and one of the largest in terms of time spe...
Traditional debuggers are of limited value for modern scientific codes that manipulate large complex...
AbstractTraditional debuggers are of limited value for modern scientific codes that manipulate large...
Traditional debuggers are of limited value for modern scientific codes that manipulate large complex...
Programming languages have advanced tremendously over the years, but program debuggers have hardly c...
Contemporary parallel debuggers allow users to control more than one processing thread while support...
Abstract—Statistical debugging identifies program behaviors that are highly correlated with failures...
Petascale computers and computing systems have the potential to solve large-scale, data-intensive pr...
Debugging parallel programs is an order of magnitude more complex than sequential ones, and yet, mos...
Runtime verification of large-scale scientific codes is difficult because they often involve thousan...
AbstractRuntime verification of large-scale scientific codes is difficult because they often involve...
This paper presents scalability as a basis for profiling and performance debugging of parallel progr...
Abstract. With the advent of petascale machines with hundreds of thousands of processors, debugging ...
Detecting and isolating bugs that arise only at high processor counts is a challenging task. Over a ...
Relative debugging helps trace software errors by comparing two concurrent executions of a program -...
Debugging is a fundamental part of software development, and one of the largest in terms of time spe...
Traditional debuggers are of limited value for modern scientific codes that manipulate large complex...
AbstractTraditional debuggers are of limited value for modern scientific codes that manipulate large...
Traditional debuggers are of limited value for modern scientific codes that manipulate large complex...
Programming languages have advanced tremendously over the years, but program debuggers have hardly c...
Contemporary parallel debuggers allow users to control more than one processing thread while support...
Abstract—Statistical debugging identifies program behaviors that are highly correlated with failures...
Petascale computers and computing systems have the potential to solve large-scale, data-intensive pr...
Debugging parallel programs is an order of magnitude more complex than sequential ones, and yet, mos...
Runtime verification of large-scale scientific codes is difficult because they often involve thousan...
AbstractRuntime verification of large-scale scientific codes is difficult because they often involve...
This paper presents scalability as a basis for profiling and performance debugging of parallel progr...
Abstract. With the advent of petascale machines with hundreds of thousands of processors, debugging ...
Detecting and isolating bugs that arise only at high processor counts is a challenging task. Over a ...
Relative debugging helps trace software errors by comparing two concurrent executions of a program -...
Debugging is a fundamental part of software development, and one of the largest in terms of time spe...