An implementation of a technology, described herein, for facilitating the
protection of computer-executable instructions, such as software. At
least one implementation, described herein, may generate integrity
signatures of one or more program modules--which are sets of
computer-executable instructions--based upon a trace of activity during
execution of such modules and/or near-replicas of such modules. With at
least one implementation, described herein, the execution context of an
execution instance of a program module is considered when generating the
integrity signatures. With at least one implementation, described herein,
a determination may be made about whether a module is unaltered by
comparing integrity signatures. This abstract itself is not intended to
limit the scope of this patent. The scope of the present invention is
pointed out in the appending claims.