Control Flow Graph Analysis for Web Application Screen Transition Consistency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If components are developed by multiple developers after internal design completion, then development productivity increases, but inconsistencies between components are often left undetected
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.
3Loss of time
If automatic code generation from components is used, then development time is reduced, but errors in actual runtime cannot be detected
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.
Data Source
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.


