A computer program (10) for analysing a specification, determining what
kind of data processing operations are carried out, and deducing or
inferring from the kind of internal operations, what data types are
appropriate. The data types inferred can be compared with specified data
types, to check for errors, or optimise the overall process. This is
effectively an extension of type inference from individual programs into
the higher level technical field of process analysis. It can also be
applied to monitoring and optimising processes during operation of the
processes.