Automation of Debugging Parallel Programs in the DVM System - Bakhtin, V. A. (Mathematical models and computer simulations, 2024)
Debugging parallel programs is a labor-intensive and nontrivial task. Parallel algorithms are usually significantly more complex than their sequential counterparts for the same problems. Moreover, parallel code may contain errors that are unusual for sequential debugging, caused by incorrect use of functions that provide parallelism or unsynchronized interactions between processes or threads. The nondeterministic behavior of a parallel program can also complicate the reproduction of errors. Therefore, automated methods are often used for debugging parallel programs, allowing most errors in the program to be identified automatically with minimal involvement from the programmer. This article presents an automated approach to debugging parallel programs in the DVM system, designed for developing applications using the high-level parallel model DVMH.