Software implemented method for automatically validating the correctness of parallel computer programs
AssigneeIntel Corporation
InventorsDavid K. Poulsen, Paul M. Petersen, Sanjiv M. Shah
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsDavid K. Poulsen, Paul M. Petersen, Sanjiv M. Shah
Estimating the term…
A software-implemented method for validating the correctness of parallel computer programs, written in various programming languages, with respect to these programs' corresponding sequential computer programs. Validation detects errors that could cause parallel computer programs to behave incorrectly or to produce incorrect results, and is accomplished by transforming these parallel computer programs under the control of a general purpose computer and sequentially executing the resulting transformed programs. The validation method is system-independent and is portable across various computer architectures and platforms since validation is accomplished via program transformation; thus, the method does not depend on the features of a particular hardware architecture or configuration, operating system, compiler, linker, or thread environment. The input to the validation method is a parallel computer program. The parallel computer program results from annotating its corresponding sequential computer program with a parallelism specification; the annotations describe constraints in the sequential program to be relaxed to allow the exploitation of parallelism. Validation is accomplished by detecting semantic inconsistencies between the parallel computer program and its corresponding sequential computer program. The validation method translates the input parallel computer program into a second, sequential computer program such that the second sequential computer program, when executed, detects and reports the semantic inconsistencies between the parallel computer program and its corresponding sequential computer program.
A method for detecting individual errors in a parallel computer program by translating a parallel computer program into a sequential computer program, said method comprising the steps of:
A system for detecting errors in a parallel computer program by translating a parallel computer program into a sequential computer program, comprising:
Dependencies are inferred from the claim text.