Patent ID: 8347320

Claim:
A method comprising, by one or more computer systems: specifying an application-specific navigation model of an event-driven application, the application-specific navigation model encoding: one or more pages of the event-driven application; one or more events supported by the event-driven application; one or more event handlers for processing one or more of the events; and one or more event data for one or more of the events; analyzing the navigation model with respect to one or more navigation requirements of the event-driven application to determine whether the event-driven application satisfies the navigation requirements; generating one or more drivers for the event-driven application based on the navigation model, wherein the drivers are collectively or individually configured to: for each of the pages of the event-driven application, process events that are available and enabled on the page; and for each of the events: populate the page with event data; invoke a registered event handler for the event; and calculate a next page based on a result returned by the registered event handler; and recursively process the next page; and traversing the navigation model with the application-independent event drivers to analyze the event-driven application with respect to one or more business-logic requirements of the event-driven application to determine whether the event-driven application satisfies the business-logic requirements, the traversal comprising: for each of one or more first ones of the pages of the event-driven application, determining whether the first one of the pages is reachable from one or more second ones of the pages of the event-driven application, whether the first one of the pages is at least a predetermined number of transitions away from one or more of the seconds ones of the pages, or whether the first one of the pages is reachable without first transitioning to one or more of the seconds ones of the pages; or determining whether all the pages of the event-driven application have incoming and outgoing transitions.