Abstract
Current debugging support is inadequate for debugging programs written in data-driven and multithreaded parallel programming languages. Yet such languages are essential for attaining high-performance in the next generation of parallel applications, which tend to be dynamic and irregular in their structure. Also, such applications can often benefit from a multi-paradigm approach, where individual modules are programmed using different parallel paradigms to fit their computational structure. We present a methodology, and its embodiment in a debugging tool, that supports the requirements of programmers writing data-driven applications.