Each component (101) of a plurality of interacting system components is associated with a version identifier (102). The version identifier (102) is stored in a location accessible by the other components. Each component independently reads the version identifier of every other component with which it must interact, and compares this value to an internally stored compatibility record (103) to determine whether the other component satisfies requirements for compatibility with the verifying component. Any component which detects an incompatibility signals an error to the system. In the preferred embodiment, the components are software modules, and the version identifier and compatibility record contain integer values. The compatibility record value represents the minimum level required of the module being verified for compatibility with the verifying module.; Compatibility verification is accomplished by comparing the actual level of the module being verified with the minimum level in the compatibility record. If the actual level is equal to or greater than the minimum level, the module being verified satisfies compatibility requirements.