1. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for measuring and verifying the integrity of a running computer program, the method comprising the step of examining the integrity of the running computer program's execution state comprising the steps of: measuring the integrity of the running computer program's code during runtime; measuring the integrity of the running computer program's data comprising a plurality of data objects accessed by the computer program during runtime, the measuring the integrity of the running computer program's data step comprising the steps of: identifying the plurality of data objects using a plurality of attributes relevant to the running computer program's integrity to produce a baseline of the plurality of data objects from a stored image of the running computer program; measuring an image of the running computer program in a memory without modifying the running computer program to produce a measurement manifest comprising the steps of: inspecting the identified plurality of data objects; generating an abstract of an object graph for each data object; and using the abstracts of the object graphs to produce the measurement manifest; and comparing the baseline and the measurement manifest to verify the integrity of the running computer program's data; and inserting a trigger in the running computer program whose integrity has been measured to independently measure and verify the integrity of a new module before the new module is loaded into the memory.