1. A computer-implemented method of managing a program execution, wherein the computer performs the steps of: obtaining macro data for the program, the macro data including a set of execution entries, each of which includes data corresponding to a user interface task executed by the program for a user interface object of the program and a time corresponding to execution of the user interface task, wherein the user interface task comprises user level processing performed in response to an input received from a user using the user interface object and wherein the data corresponding to the user interface task enables recreation of the user interface task; obtaining error data for the program, the error data including a set of failure entries, each failure entry including data for an error event and a time for the error event; and correlating at least one execution entry with a failure entry based on the time for the at least one execution entry and the time for the failure entry.