Control Flow Graph Analysis for Web Application Screen Transition Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web application development using Servlets and JSP is prone to errors due to undetected inconsistencies in screen transitions and data dependencies, which are difficult to identify before runtime, leading to bugs with hard-to-find causes and increased development costs.

Innovation Solution

A method that generates a control flow graph, performs dataflow analysis, detects inconsistencies, and displays information to users, treating screen transitions as control flow graphs and server objects as variables to validate internal design and present results, thereby reducing the frequency of difficult bugs and development costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual development of Web applications using Servlets and JSP is performed, then developers have flexibility in implementation, but inconsistencies in screen transitions and data dependencies are difficult to detect before runtime

Engineering Contradiction:
Improvedetection of inconsistenciesVSAvoidinconsistencies in screen transitions
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates a control flow graph as a simplified copy or model of the actual Web application's screen transitions and data dependencies. This graphical representation copies the essential structural information without the complexity of the full application, making it easier to analyze for inconsistencies. The control flow graph nodes represent screens and server objects, while edges represent transitions and dependencies, allowing developers to detect issues before runtime without analyzing the complete application codebase.

Inventive Principle:
Principle #26Copying

2Productivity

If components are developed by multiple developers after internal design completion, then development productivity increases, but inconsistencies between components are often left undetected

Engineering Contradiction:
Improvedevelopment speedVSAvoidconsistency between components
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs consistency checking on the control flow graph before the actual implementation phase. By analyzing screen transitions and data dependencies in advance, the system identifies potential inconsistencies between components that will be developed by different developers. This preliminary detection allows teams to resolve issues before components are implemented, ensuring consistency while maintaining the productivity benefits of parallel development.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If automatic code generation from components is used, then development time is reduced, but errors in actual runtime cannot be detected

Engineering Contradiction:
Improvedevelopment timeVSAvoidruntime errors
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs static analysis of the control flow graph to detect potential runtime errors before code is generated or executed. By analyzing the structural relationships between screens and server objects in advance, the system identifies inconsistencies that would cause runtime errors. This allows automatic code generation to proceed quickly while ensuring the generated code will execute correctly, as inconsistencies are caught during the design phase rather than during runtime testing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7886276B2Application program development assisting method, program, and information processing apparatus
Publication Date: 2011.02.08 WRP IP MANAGEMENT LLC
  • US7886276B2 patent drawing
  • US7886276B2 patent drawing
  • US7886276B2 patent drawing

AI summary

A method, program, and information processing apparatus for detecting an inconsistency in an application program before the application program is implemented. The described is detecting a consistency or inconsistency in the design of screen transition of an application program, by generating a control flow graph for the application program, calculating from the control flow graph the solution of dataflow problem which occurs in the application program, detecting an inconsistency in the application program on the basis of the calculated solution, and displaying information concerning a detected inconsistency.