Data races could result in unintended non-deterministic executions of the parallel programs on the shared memory. So, detecting races, particularly first data races, is important for debugging explicit shared memory parallel programs. Previous techniq...
Data races could result in unintended non-deterministic executions of the parallel programs on the shared memory. So, detecting races, particularly first data races, is important for debugging explicit shared memory parallel programs. Previous techniques to detect first races are inefficient for programmer showing first races by text or low-level viewer. To detect first races more effectively, we present a design of parallel debugger. The parallel debugger is made up a module of first races detection and a module of first races report. The first races detection in this paper are constant in both the number of event comparisons and the space complexity on each access to shared variable because the size of an access history for each shared variable is a small constant. The report of first races in this paper is visible for programmer to convenient. Therefore, this debugger makes detection of first races more efficient and practical for debugging parallel programs on the shared memory.