Patent ID: 9323418
Filing Date: 2016-04-26
CPC Classification: G06F

Claim Text:
1. A graphical user interface (GUI) analysis method, performed by a processor configured with stored instructions, the method comprising the following steps: receiving, computer code representative of a prototype GUI from a developer, wherein the prototype GUI comprises actual GUI elements having known identities and known behavioral attributes, wherein the processor is operatively coupled to first and second non-transitory memory stores, wherein the second memory store comprises a list of generic GUI elements and the visual and behavioral properties corresponding to each generic GUI element; transforming a runtime object into an Extensible Markup Language (XML) data structure that captures dynamic properties of the run time object, including a description of the visual properties of the actual GUI elements and sub-elements that make up the prototype GUI, wherein each sub-element has visual properties that would be visible to a user of the prototype GUI; grouping the sub-elements into perceived GUI elements based only on the visual properties of the sub-elements and storing the perceived GUI elements in the first memory store; flagging instances where a perceived GUI element includes sub-elements from more than one actual GUI element; comparing each perceived GUI element to the list of generic GUI elements to find the closest match, the closest match determined by the developer; assigning the identity of the closest-matched generic GUI element to the perceived GUI element; flagging instances where the assigned identity of the perceived GUI element does not match the known identity of the actual GUI element; predicting a behavioral response of the perceived GUI element to an action based on a behavioral response associated with the assigned identity; virtually performing the action on the prototype GUI; comparing the run time object prior to performance of the action to the run time object after performance of the action to determine an actual action-response; comparing the predicted, behavioral action-response to the actual action-response; flagging instances where the behavioral action-response does not match the actual action- response; and generating and producing a report of the flagged instances for the developer.