Debugging concurrent programs using static analysis and run-time hardware monitoring
D. K. Arvind, D. Yokotsuka · 2002
This paper describes the design and implementation of PMD-a debugger for Occam2 on an experimental distributed memory MIMD machine. Static analysis of the source code is used to build a model of the program, albeit incomplete, with minimal run-time information being filled in dynamically from a dedicated hardware monitor. The notion of Region of Channel Usage (RCU) is introduced to efficiently detect concurrency-related errors. PMD is currently being extended to deal with languages with dynamic process creation and non-blocking communication schemes.>