Program Transformation for Enterprise Application Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current code analyzers for enterprise information systems lack support for analyzing mixed syntax programs, particularly database processing statements like SQL and inter-service communication statements, which hinders precise analysis and is not economically feasible to enhance for reusability across projects.

Innovation Solution

A method and system that transform DSL statements into host programming language statements and service calls into function calls, allowing existing code analyzers to perform analysis, thereby eliminating the need for enhanced analyzers and improving analysis accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If code analyzers are enhanced to support mixed syntax (SQL and service calls), then analysis precision is improved, but device complexity and development cost increase significantly

Engineering Contradiction:
Improveanalysis precisionVSAvoidanalyzer complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary transformation system that converts mixed-syntax enterprise applications into standardized host programming language code. This intermediary tool acts as a mediator between the complex mixed-syntax input and the simpler analyzer input, allowing existing analyzers to achieve precise analysis without being enhanced. The transformation system handles the complexity of parsing and converting SQL statements and service calls into equivalent host language constructs, thereby resolving the contradiction by shifting complexity from the analyzer to the transformation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a transformed copy of the original mixed-syntax program in the host programming language. Instead of modifying the original complex syntax or enhancing the analyzer to handle it, the system generates an equivalent simplified copy that preserves the semantic meaning and control flow. This copied version can be analyzed by existing analyzers with full precision, while the transformation process that handled the complexity is separate and reusable across multiple analysis tasks.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If a new analyzer supporting mixed syntax is built, then analysis capability is improved, but reusability across projects deteriorates due to high development cost

Engineering Contradiction:
Improveanalysis capabilityVSAvoidreusability
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent creates a universal transformation system that can handle multiple types of enterprise applications with mixed syntax (different SQL dialects, various service call types) and convert them all into a standardized host programming language format. This single transformation tool serves multiple functions across different re-engineering projects, making it highly reusable. The transformation system is designed to be project-agnostic, accepting various input formats and producing consistent output suitable for existing analyzers, thereby achieving both versatility and reusability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the analysis process into two independent components: (1) a transformation module that handles the complexity of mixed-syntax conversion, and (2) an existing analyzer module that performs the actual analysis. This segmentation allows the transformation module to be developed once and reused across multiple projects with different analyzers, while existing analyzers continue to be reused with transformed code from different projects. The separation eliminates the need to rebuild entire analyzer systems for each new project type.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If manual analysis is used for enterprise applications, then analysis accuracy is maintained, but productivity deteriorates due to time-consuming processes

Engineering Contradiction:
Improveanalysis accuracyVSAvoidanalysis speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary automated transformation of the enterprise application code into host programming language format before the analysis phase. This preliminary action prepares the code in a standardized format that existing automated analyzers can process efficiently, eliminating the need for manual analysis while preserving accuracy. The transformation step is performed automatically and quickly, and the resulting transformed code maintains semantic equivalence to the original, enabling subsequent automated analysis to achieve the same accuracy as manual analysis but at much higher speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12182556B2Method and system for performing program transformations for precise analysis of enterprise applications
Publication Date: 2024.12.31 TATA CONSULTANCY SERVICES LTD
  • US12182556B2 patent drawing
  • US12182556B2 patent drawing
  • US12182556B2 patent drawing

AI summary

For performing analysis of enterprise application, code analysis tools may be used. But currently available analysis tools lack support for analyzing database processing statements, such as structured query language (SQL) statements and inter-service communication statements that may be present along with the programming language statements in the computer program. Present disclosure provides method and system for performing program transformations for precise analysis of enterprise applications. The system transform each database processing statement present in a computer program associated with the enterprise application into host programming language statement and each service call into function call statements. In particular, the system replaces syntax of embedded language with equivalent host programming language syntax. The system then uses existing code analyzers for performing analysis of the computer program to get data flow information of the computer program.