A computer-implemented method and system for reporting failures in an
application program module to a corporate file server. The failure may be
a crash or a set-up failure. Once detected, the program failures are
categorized, i.e. bucketed, and reported directly to a local file server
operated by a corporation. The corporate file server may be used to store
the failures encountered by users in a corporate environment until these
failures are reported to a server operated by the manufacturer of the
program module (a destination server). Once the failures are reported to
the destination server, developers or programmers may examine the data
and determine what is causing the failures in the program module. A
failure reporting executable on the user's computer provides
communications between the failed application program module and the
local file server. An administrative reporting executable (typically
operated at the corporate file server) provides communications between
the failure reporting executable and the corporate file server and
between the corporate file server and the destination server. A cab tree,
a counts tree and a status tree stores bucket information for a failure
at the corporate file server. The bucket information for a crash may
comprise an AppName, an AppVer, a ModuleName, a ModuleVer, and an offset
into that module. The bucket information in the corporate file server may
be uploaded to a destination server by a corporate system administrator
thus preventing sensitive information from being disclosed by the
corporation's users.