Patent ID: 8561028

Claim:
A method executed by a computing apparatus, comprising: executing a plurality of event-generating program components of an event-driven application, wherein the plurality of event-generating program components are configured to generate a plurality of events during execution of the event-driven application, wherein the plurality of event-generating program components comprise: an input code component configured to generate input events identifying respective inputs received via a graphical interface of the event-driven application, and an input/out code component configured to generate events for modifying the graphical interface in response to at least one of the input events; executing a plurality of event-listening program components, wherein each event-listening program component of the plurality of event-listening program components is configured to begin or end a respective behavior based on listening to at least one event from at least one of the plurality of event-generating program components, wherein at least one of the plurality of event-listening program components comprises a display code component configured to render text or graphics for display via the graphical interface in response to at least one of the events for modifying the graphical interface; relaying, by an event dispatcher program component executed by the computing apparatus, the plurality of events from the plurality of event-generating program components to the plurality of event-listening program components; while the event-driven application is executing, generating, by an event monitor program component, a log identifying the plurality of events; identifying, based on the log identifying the plurality of events, an erroneous operation by the event-driven application that is associated with at least some event-listening program components of the plurality of event-listening program components, wherein the erroneous operation is caused by an erroneous sequence of operations, wherein the erroneous sequence of operations is associated with modifying the graphical interface in response to at least one of the input events relayed by the event dispatcher program component; automatically generating an additional interface for presenting source code corresponding to each of the at least some event-listening program components associated with the identified erroneous operation; and responsive to input received via the additional interface, modifying at least some of the source code.