Integrating Temporal Assertions into a Parallel Debugger
We describe the use of temporal logic formulas as runtime assertions in a parallel debugging environment. The user asserts in a message passing program the expected system behavior by one or several such formulas. The debugger allows by “macro-stepping” to interactively elaborate the execution tree (i.e., the set of possible execution paths) which arises from the use of non-deterministic communication operations. In each macro-step, a temporal logic checker verifies that the once asserted temporal formulas are not violated by the current program state. Our approach thus introduces powerful runtime assertions into parallel and distributed debugging by incorporating ideas from the model checking of temporal formulas.
Unable to display preview. Download preview PDF.