IP Library Granted Patent US 8,402,319
Granted Patent B2
US 8,402,319 · App. 12/895,323 · Granted Mar 19, 2013

Method and system to extract a navigation model for analysis of a web application

Inventors: Oksana Tkachuk (Palo Alto, CA); Sreeranga P. Rajan (Sunnyvale, CA)
Assignee: Fujitsu Limited
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,402,319
App. No.
12/895,323
Granted
Mar 19, 2013
Kind
B2
Abstract

In one embodiment, a method includes automated extraction of the Page Transition Graph (PTG) model for model-based analysis of web applications. Specifically, the method includes accessing one or more JAVASERVER PAGES (JSP) files, one or more Extensible Markup Language (XML) configuration files, and one or more class files of a web application; parsing the JSP files and extracting data in the JSP files that encode user or server events supported by the event-driven application; parsing the XML configuration files and extracting data in the XML configuration files that encode definitions used by the event-driven application when deployed; parsing the class files and extracting data in the class files that encode one or more actions or one or more forms used by the event-driven application when deployed; storing the extracted data as an abstract syntax tree (AST); populating a page transition graph (PTG) of the event-driven application based on the AST; and checking the extracted PTG for navigation errors such as unreachable pages, ghost pages and undefined transitions.

Claims (86)

1. A method comprising, by one or more computer systems:

accessing one or more JAVASERVER PAGES (JSP) files, one or more Extensible Markup Language (XML) configuration files, and one or more class files of an event-driven application;

parsing the JSP files, wherein parsing the JSP files comprises extracting data from the JSP files that encode user or server events supported by the event-driven application;

parsing the XML configuration files, wherein parsing the XML configuration files comprises extracting data from the XML configuration files that encode definitions used by the event-driven application when deployed;

parsing the class files, wherein parsing the class files comprises extracting data from the class files that encode one or more actions or one or more forms used by the event-driven application when deployed;

storing the extracted data as an abstract syntax tree (AST);

populating a page transition graph (PTG) of the event-driven application based on the AST; and

checking the PTG for navigation errors in the event-driven application.

2. The method of claim 1 , wherein the navigation errors comprise one or more of:

one or more unreachable pages;

one or more ghost pages; or

one or more undefined transitions.

3. The method of claim 1 , wherein the event-driven application is a web application.

4. The method of claim 1 , wherein the event-driven application is a STRUTS-based web application.

5. The method of claim 1 , wherein the PTG when populated encodes:

one or more pages of the event-driven application;

one or more ghost pages of the event-driven application;

one or more of the user or server events supported by the event-driven application;

one or more user or server events that are referenced but not defined;

one or more event handlers for processing one or more of the user or server events; and

one or more event data for one or more of the user or server events.

6. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

access one or more JAVASERVER PAGES (JSP) files, one or more Extensible Markup Language (XML) configuration files, and one or more class files of an event-driven application;

parse the JSP files, wherein parsing the JSP files comprises extracting data from the JSP files that encode user or server events supported by the event-driven application;

parse the XML configuration files, wherein parsing the XML configuration files comprises extracting data from the XML configuration files that encode definitions used by the event-driven application when deployed;

parse the class files, wherein parsing the class files comprises extracting data from the class files that encode one or more actions or one or more forms used by the event-driven application when deployed;

store the extracted data as an abstract syntax tree (AST);

populate a page transition graph (PTG) of the event-driven application based on the AST; and

check the PTG for navigation errors in the event-driven application.

7. The media of claim 6 , wherein the navigation errors comprise one or more of:

one or more unreachable pages;

one or more ghost pages; or

one or more undefined transitions.

8. The media of claim 6 , wherein the event-driven application is a web application.

9. The media of claim 6 , wherein the event-driven application is a STRUTS-based web application.

10. The media of claim 6 , wherein the PTG when populated encodes:

one or more pages of the event-driven application;

one or more ghost pages of the event-driven application;

one or more of the user or server events supported by the event-driven application;

one or more user or server events that are referenced but not defined;

one or more event handlers for processing one or more of the user or server events; and

one or more event data for one or more of the user or server events.

11. An apparatus comprising:

a memory comprising instructions executable by one or more processors; and

one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

access one or more JAVASERVER PAGES (JSP) files, one or more Extensible Markup Language (XML) configuration files, and one or more class files of an event-driven application;

parse the JSP files, wherein parsing the JSP files comprises extracting data from the JSP files that encode user or server events supported by the event-driven application;

parse the XML configuration files, wherein parsing the XML configuration files comprises extracting data from the XML configuration files that encode definitions used by the event-driven application when deployed;

parse the class files, wherein parsing the class files comprises extracting data from the class files that encode one or more actions or one or more forms used by the event-driven application when deployed;

store the extracted data as an abstract syntax tree (AST);

populate a page transition graph (PTG) of the event-driven application based on the AST; and

check the PTG for navigation errors in the event-driven application.

12. The apparatus of claim 11 , wherein the navigation errors comprise one or more of:

one or more unreachable pages;

one or more ghost pages; or

one or more undefined transitions.

13. The apparatus of claim 11 , wherein the event-driven application is a web application.

14. The apparatus of claim 11 , wherein the event-driven application is a STRUTS-based web application.

15. The apparatus of claim 11 , wherein the PTG when populated encodes:

one or more pages of the event-driven application;

one or more ghost pages of the event-driven application;

one or more of the user or server events supported by the event-driven application;

one or more user or server events that are referenced but not defined;

one or more event handlers for processing one or more of the user or server events; and

one or more event data for one or more of the user or server events.

16. A system comprising:

means for accessing one or more JAVASERVER PAGES (JSP) files, one or more Extensible Markup Language (XML) configuration files, and one or more class files of an event-driven application;

means for parsing the JSP files, wherein parsing the JSP files comprises extracting data from the JSP files that encode user or server events supported by the event-driven application;

means for parsing the XML configuration files, wherein parsing the XML configuration files comprises extracting data from the XML configuration files that encode definitions used by the event-driven application when deployed;

means for parsing the class files, wherein parsing the class files comprises extracting data from the class files that encode one or more actions or one or more forms used by the event-driven application when deployed;

means for storing the extracted data as an abstract syntax tree (AST);

means for populating a page transition graph (PTG) of the event-driven application based on the AST; and

means for checking the PTG for navigation errors in the event-driven application.

17. The system of claim 16 , wherein the navigation errors comprise one or more of:

one or more unreachable pages;

one or more ghost pages; or

one or more undefined transitions.

18. The system of claim 16 , wherein the event-driven application is a web application.

19. The system of claim 16 , wherein the event-driven application is a STRUTS-based web application.

20. The system of claim 16 , wherein the PTG when populated encodes:

one or more pages of the event-driven application;

one or more ghost pages of the event-driven application;

one or more of the user or server events supported by the event-driven application;

one or more user or server events that are referenced but not defined;

one or more event handlers for processing one or more of the user or server events; and

one or more event data for one or more of the user or server events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: TKACHUK, OKSANA; RAJAN, SREERANGA P.
To: FUJITSU LIMITED
Reel/Frame 025073/0911 →
Continuity (1)
Related Publication 20120084609A1 · Apr 5, 2012