摘要 |
A data-type checker dynamically verifies program operation. The data-type checker, while executing a specified computer program, maintains a shadow array that has entries corresponding to respective memory locations used by the specified computer program. Each entry of the shadow array indicates a data type of the corresponding respective memory location. While executing the specified computer program, the data-type checker executes each of a set of instructions of the computer program. For the execution of each instruction in a subset of the set of instructions of the computer program, the data-type checker determines whether execution of the instruction is inconsistent with an entry of the shadow array and, if so, generates a report. The data-type checker then executes the instruction, and updates the shadow array in accordance with execution of the instruction.
|