Synthetic Data Structure for Dynamic Program Analysis
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If static program analysis is used, then analysis speed is improved, but ability to handle tabular data operations deteriorates
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.
4Reliability
If mixed data objects are used to create synthetic data structures, then data type consistency is improved, but system complexity increases
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.
Data Source
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.


