Partial orders for parallel debugging
PADD '88 Proceedings of the 1988 ACM SIGPLAN and SIGOPS workshop on Parallel and distributed debugging
Debugging race conditions in message-passing programs
SPDT '96 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Debugging distributed programs using controlled re-execution
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
MPI: The Complete Reference
MPVisualizer: A General Tool to Debug Message Passing Parallel Applications
HPCN Europe '99 Proceedings of the 7th International Conference on High-Performance Computing and Networking
The Semantics of Blocking and Nonblocking Send and Receive Primitives
Proceedings of the 8th International Symposium on Parallel Processing
Notes on Nondeterminism in Message Passing Programs
Proceedings of the 9th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Efficient Reachability Testing of Asynchronous Message-Passing Programs
ICECCS '02 Proceedings of the Eighth International Conference on Engineering of Complex Computer Systems
Monitoring and debugging message passing applications with MPVisualizer
EURO-PDP'00 Proceedings of the 8th Euromicro conference on Parallel and distributed processing
Message race detection for web services by an SMT-based analysis
ATC'10 Proceedings of the 7th international conference on Autonomic and trusted computing
Research in concurrent software testing: a systematic review
Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Verification and coverage of message passing multicore applications
ACM Transactions on Design Automation of Electronic Systems (TODAES) - Special section on verification challenges in the concurrent world
Hi-index | 0.00 |
Message races, which can cause nondeterministic executions of a parallel program, should be detected for debugging because nondeterminism makes debugging parallel programs a difficult task. Even though there are some tools to detect message races in MPI programs, they do not provide practical information to locate and debug message races in MPI programs. In this paper, we present an on-the-fly detection tool, which is MPIRace-Check, for debugging MPI programs written in C language. MPIRace-Check detects and reports all race conditions in all processes by checking the concurrency of the communication between processes. Also it reports the message races with some practical information such as the line number of a source code, the processes number, and the channel information which are involved in the races. By providing those information, it lets programmers distinguish of unintended races among the reported races, and lets the programmers know directly where the races occur in a huge source code. In the experiment we will show that MPIRace-Check detects the races using some testing programs as well as the tool is efficient.