IP Library Granted Patent US 8,448,142
Granted Patent B2
US 8,448,142 · App. 12/546,984 · Granted May 21, 2013

Incremental runtime compliance validation of renderable objects

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,448,142
App. No.
12/546,984
Granted
May 21, 2013
Kind
B2
Abstract

Mechanisms are provided for debugging a graphical user interface (GUI) of a computer application code. The mechanisms detect a user interaction with a first renderable object of the GUI during execution of the computer application code. The mechanisms identify one or more second renderable objects of the GUI that are reachable from the first renderable object based on an identity of the first renderable object and a type of the user interaction. Moreover, the mechanisms apply one or more compliance rules to the first renderable object and one or more second renderable objects, the compliance rules specifying requirements for at least one relationship between the first renderable object and the one or more second renderable objects. Additionally, the mechanisms output results of the application of the one or more compliance rules to the first renderable object and one or more second renderable objects.

Claims (46)

1. A method, in a data processing system, for debugging a graphical user interface (GUI) of a computer application code, comprising:

detecting, by a debug agent running on a computing device associated with the data processing system, a user interaction with a first renderable object of the GUI during execution of the computer application code;

identifying, by a user interface debugger running on the data processing system, one or more second renderable objects of the GUI that are reachable from the first renderable object based on an identity of the first renderable object and a type of the user interaction;

applying, by the user interface debugger, one or more compliance rules to the first renderable object and one or more second renderable objects, the compliance rules specifying requirements for at least one relationship between the first renderable object and the one or more second renderable objects; and

outputting, by the user interface debugger, results of the application of the one or more compliance rules to the first renderable object and one or more second renderable objects, wherein the one or more compliance rules specify a required relationship between the first renderable object and the one or more second renderable objects with regard to operations performed by, and state of, the one or more second renderable objects in response to the type of the user interaction.

2. The method of claim 1 , further comprising:

gathering information regarding the state of the one or more second renderable objects of the GUI from the computer application code using a traditional debugger; and

applying the one or more compliance rules to the gathered information to verify relationships between the state of the first renderable object and the states of the one or more second renderable objects.

3. The method of claim 1 , wherein the method is performed continuously as the user interacts with renderable objects of the GUI such that the method is repeated with each user interaction with a renderable object of the GUI.

4. The method of claim 1 , wherein the method is performed repeatedly as the user interacts with the renderable objects of the GUI such that the method is repeated for selected types of user interactions with renderable objects of the GUI.

5. The method of claim 1 , further comprising:

performing a dynamic break in the execution of the computer application code in response to a determination that at least one of the one or more compliance rules is violated by a relationship between the first renderable objects and at least one of the one or more second renderable objects.

6. The method of claim 5 , further comprising:

displaying a current location in the computer application code at which the computer application code is executing in response to the dynamic break thereby identifying to a user a portion of the computer application code associated with generating the violation of the at least one of the one or more compliance rules.

7. The method of claim 1 , wherein outputting results of the application of the one or more compliance rules to the first renderable object and one or more second renderable objects comprises logging violations of the one or more compliance rules in a debugger log data structure.

8. The method of claim 1 , wherein identifying one or more second renderable objects of the GUI that are reachable from the first renderable object comprises:

retrieving a structure document for the GUI, wherein the structure document specifies a hierarchy of elements of the GUI and their relationships;

locating an element corresponding to the first renderable object in the structure document; and

based on the type of user interaction, identifying a path through the hierarchy of elements from the element corresponding to the first renderable object to one or more other elements corresponding to the one or more second renderable objects.

9. The method of claim 8 , wherein the structure document is one of a document object model (DOM) or an abstract syntax tree (AST).

10. A computer program product comprising a non-transitory computer recordable storage medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:

detect a user interaction with a first renderable object of a graphical user interface (GUI) during execution of a corresponding computer application code;

identify one or more second renderable objects of the GUI that are reachable from the first renderable object based on an identity of the first renderable object and a type of the user interaction;

apply one or more compliance rules to the first renderable object and one or more second renderable objects, the compliance rules specifying requirements for at least one relationship between the first renderable object and the one or more second renderable objects; and

output results of the application of the one or more compliance rules to the first renderable object and one or more second renderable objects, wherein the one or more compliance rules specify a required relationship between the first renderable object and the one or more second renderable objects with regard to operations performed by, and state of, the one or more second renderable objects in response to the type of the user interaction.

11. The computer program product of claim 10 , wherein the computer readable program further causes the computing device to:

gather information regarding the state of the one or more second renderable objects of the GUI from the computer application code using a traditional debugger; and

apply the one or more compliance rules to the gathered information to verify relationships between the state of the first renderable object and the states of the one or more second renderable objects.

12. The computer program product of claim 10 , wherein the computer readable program is executed by the computing device continuously as the user interacts with renderable objects of the GUI such that the method is repeated with each user interaction with a renderable object of the GUI.

13. The computer program product of claim 10 , wherein the computer readable program is executed by the computing device repeatedly as the user interacts with the renderable objects of the GUI such that the method is repeated for selected types of user interactions with renderable objects of the GUI.

14. The computer program product of claim 10 , wherein the computer readable program further causes the computing device to:

perform a dynamic break in the execution of the computer application code in response to a determination that at least one of the one or more compliance rules is violated by a relationship between the first renderable objects and at least one of the one or more second renderable objects.

15. The computer program product of claim 14 , wherein the computer readable program further causes the computing device to:

display a current location in the computer application code at which the computer application code is executing in response to the dynamic break thereby identifying to a user a portion of the computer application code associated with generating the violation of the at least one of the one or more compliance rules.

16. The computer program product of claim 10 , wherein the computer readable program further causes the computing device to identify one or more second renderable objects of the GUI that are reachable from the first renderable object by:

retrieving a structure document for the GUI, wherein the structure document specifies a hierarchy of elements of the GUI and their relationships;

locating an element corresponding to the first renderable object in the structure document; and

based on the type of user interaction, identifying a path through the hierarchy of elements from the element corresponding to the first renderable object to one or more other elements corresponding to the one or more second renderable objects.

17. The computer program product of claim 16 , wherein the structure document is one of a document object model (DOM) or an abstract syntax tree (AST).

18. An apparatus, comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to:

detect a user interaction with a first renderable object of a graphical user interface (GUI) during execution of a corresponding computer application code;

identify one or more second renderable objects of the GUI that are reachable from the first renderable object based on an identity of the first renderable object and a type of the user interaction;

apply one or more compliance rules to the first renderable object and one or more second renderable objects, the compliance rules specifying requirements for at least one relationship between the first renderable object and the one or more second renderable objects; and

output results of the application of the one or more compliance rules to the first renderable object and one or more second renderable objects, wherein the one or more compliance rules specify a required relationship between the first renderable object and the one or more second renderable objects with regard to operations performed by, and state of, the one or more second renderable objects in response to the type of the user interaction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2009
From: SQUILLACE, MICHAEL A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 023143/0362 →