A method, apparatus, and article of manufacture for providing to a signature
hash
for checking versions of abstract data types. An identifier is constructed for
the abstract data type that is substantially unique to the abstract data type,
wherein the identifier comprises a concatenation of various attributes for the
abstract data type. The constructed identifier is hashed to generate a signature
hash value for the abstract data type, which is then stored both in the database
and a class definition for the abstract data type. When the class definition is
instantiated as a library function, it accesses the abstract data type from the
database, and compares the signature hash value from the database and the signature
hash value from the class definition in order to verify that the class definition
is not outdated. The class definition is outdated when the abstract data type has
been altered without the signature hash value being re-generated and re-stored
in the database and the class definition.