1. A method of program instrumentation employing a computer system including at least one processor, the method comprising the computer system modifying a user-space program that is not part of an operating system kernel to include at least one instruction for passing an integrity marker value from the user-space program to the operating system kernel during execution of the at least one instruction; the computer system modifying the user-space program to accept a random or pseudorandom number from the operating system kernel to use as the integrity marker value upon execution of the at least one instruction, the random or pseudorandom number being passed back to the operating system kernel during execution of the at least one instruction to verify program execution integrity; and making the at least one instruction part of at least one system call included in the user-space program to request access to one or more resources of the computer system; wherein the at least one system call comprises a system call number that is modified to include the integrity marker value.