Synthetic Data Structure for Dynamic Program Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic program analysis for machine learning programs handling tabular data faces challenges due to the unavailability of actual data, difficulty in creating synthetic datasets without knowledge of column names and data types, and inefficiencies in handling tabular data operations, especially with static analysis systems.

Innovation Solution

A computer-implemented method that creates a synthetic data structure object using a mixed data object, which includes a first and a second data object, redirecting method calls to the second data object when the first object cannot handle them, allowing for the execution of target programs without requiring actual datasets and knowledge of data types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If actual data is used for dynamic program analysis, then analysis accuracy is improved, but data availability becomes a constraint due to secrecy and license reasons

Engineering Contradiction:
Improveanalysis accuracyVSAvoiddata availability
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent creates synthetic data structure objects that replicate the essential characteristics of actual tabular data without using real data. The synthetic data objects mimic data frames with columns and rows, allowing program analysis to proceed as if actual data were present, thus resolving the contradiction between analysis accuracy and data availability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces synthetic data structure objects as intermediaries between the program under analysis and the actual data. These synthetic objects serve as placeholders that enable dynamic program analysis to execute and produce meaningful results without requiring access to real data, thereby maintaining analysis accuracy while overcoming data availability constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If synthetic data is created without knowledge of column names and data types, then data preparation is simplified, but data quality and usability deteriorate

Engineering Contradiction:
Improvedata preparation simplicityVSAvoiddata quality
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent performs preliminary analysis of the target program to extract information about column names and data types before creating the synthetic data. By analyzing the program structure and data operations in advance, the system can generate synthetic data with appropriate column names and data type annotations, thus maintaining data quality while simplifying the preparation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the synthetic data structure objects are created based on the analyzed program structure, and then used to execute the program to generate results. This feedback loop allows the system to refine the synthetic data quality based on actual program behavior, ensuring both simplicity in creation and high quality in the resulting data structures.

Inventive Principle:
Principle #23Feedback

3Productivity

If static program analysis is used, then analysis speed is improved, but ability to handle tabular data operations deteriorates

Engineering Contradiction:
Improveanalysis speedVSAvoidhandling tabular data operations
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent employs dynamic program analysis with synthetic data objects that can adapt to various tabular data operations. The synthetic data structure objects dynamically respond to different operations (filtering, aggregation, transformation) just like real data frames, enabling the system to maintain high analysis speed while effectively handling diverse tabular data operations through executable code rather than static analysis.

Inventive Principle:
Principle #15Dynamics

4Reliability

If mixed data objects are used to create synthetic data structures, then data type consistency is improved, but system complexity increases

Engineering Contradiction:
Improvedata type consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal synthetic data structure object that can represent various types of tabular data with different column types. This multi-functional synthetic data object handles numeric, categorical, and other data types through a unified structure, ensuring data type consistency across operations while avoiding the need for separate handling mechanisms for each data type, thus managing system complexity.

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

Data Source

PatentUS20220382732A1Synthetic data creation for dynamic program analysis
Publication Date: 2022.12.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20220382732A1 patent drawing
  • US20220382732A1 patent drawing
  • US20220382732A1 patent drawing

AI summary

A technique for processing a target program is disclosed. In the technique, execution of a target program handling a data structure object is initiated. In the technique, a synthetic data structure object is created by using a mixed data object instead of handling the data structure object in a manner instructed originally in the target program. The mixed data object includes a first data object and a second data object and is configured to redirect a method call to the second data object in response to the first data object being unable to handle the method call.