A program modification database and method for identifying a candidate
entry within the correction database for a particular executable program
are disclosed. The program modification database provides a general
depository of program changes, referred to herein as substitute program
segments, and a set of executable program entries containing program
matching criteria and corresponding program changes. The program
modification database includes an index. Each entry in the index includes
a piece of identifying information for a referenced, corresponding
executable program entry. The program modification database architecture
is applicable to any type of program segment information for modifying
either instruction code or data values within a program. The types of
information, within a program matching criteria, taken from an executable
program file used to identify a corresponding executable program entry
within the program modification database are selectable on an individual
basis from an extensible set of executable program information types.