In processing an external function for which source code is not available,
such as an application program interface (API), a model is used to
evaluate whether the external function is properly invoked. An error
potentially resulting from improper invocation of the external function
and at least one condition that will result in the potential error are
identified. The model is created to test for the condition that will
result in the potential error. When the condition is found, generation of
an error message is triggered. The model is associated with a source code
analyzer such that when the source code is analyzed by the source code
analyzer, the model is applied to evaluate invocation of the external
function. The potential error and conditions that result in the error,
such as input/output parameter errors and dependency errors, may be
derived from documentation describing the operation of the external
function or API.