Deep Type Parsing for Variable Identification in Legacy Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software testing is a time-consuming and costly process, especially when interacting with databases, due to the complexity of identifying and seeding variables, and the lack of familiarity with legacy code among testers.

Innovation Solution

A method for deep type parsing of application source code to identify and access variables, including complex variables associated with databases, by using a computing system with processors to parse source code, determine variable types, and provide metadata for user interface access, facilitating efficient testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extensive manual testing and variable identification is performed to ensure software quality, then bug detection capability is improved, but testing time and cost increase significantly

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service testing by automatically parsing source code to identify variables, data types, and database associations. The deep type parsing engine autonomously analyzes code structure and generates test-ready information without requiring manual intervention from testers, thus maintaining high software quality while reducing testing time and cost.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical testing processes with an automated computational system. The deep type parsing engine uses computer-based analysis to substitute human testers in identifying variables and understanding code structure, thereby improving efficiency while maintaining or enhancing bug detection capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If deep type parsing is performed to identify all variables including complex database variables, then variable identification accuracy is improved, but processing complexity increases

Engineering Contradiction:
Improvevariable identification accuracyVSAvoidparsing system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The parsing system is divided into specialized components: a deep type parsing engine for analyzing code structure, a data type identification module for determining variable types, and a database association module for linking variables to database entities. This segmentation allows each component to focus on specific tasks, improving variable identification accuracy while managing system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate data structures and metadata layers that bridge the complex parsing operations and the final variable identification results. These intermediaries organize and structure the information flow, making the complex parsing process more manageable and the results more accessible without sacrificing identification accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9098624B1Deep type parsing
Publication Date: 2015.08.04 QUEST SOFTWARE INC
  • US9098624B1 patent drawing
  • US9098624B1 patent drawing
  • US9098624B1 patent drawing

AI summary

A method for accessing variables in an application is described. The method includes accessing application source code and parsing the application source code to identify a set of variables. For each variable from the set of variables, the method can include determining a variable type of the variable. In response to determining that the variable type is a complex variable, the method can include parsing the complex variable, which can include repeating the method for each variable of the complex variable. In response to determining that the variable is associated with a database, the method can include resolving a variable name and determining whether the variable exists in a data dictionary associated with the database. The method can further include determining metadata associated with the variable based, at least in part, on the variable type. The variable type and metadata of the variable can then be presented to a user.