Assembler Data Structure Discovery via Overlap Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The unstructured nature of assembler languages makes it difficult for broker programs to identify and transform data structures, leading to challenges in sharing data between different programming languages.
Innovation Solution
A computer-implemented method that analyzes assembler code to identify and group data items based on their offset and order, generates data modeling language by creating overlap lists, and transforms implicit data structures into high-level language structures like DFDL, enabling effective data sharing across programming languages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If assembler code is used to define data items, then data can be placed flexibly anywhere within a program, but the data items become highly unstructured and difficult to identify
Solution Approach 1:
The patent segments the unstructured assembler code by dividing it into discrete data items with specific attributes (offset, length, type). Each data item is treated as an independent unit that can be individually identified and processed, transforming the continuous unstructured stream into manageable segments that retain flexibility while enabling systematic analysis.
Solution Approach 2:
The patent introduces an intermediary data structure representation layer between the raw assembler code and the broker program. This intermediate representation includes structured attributes (offset, length, type) that bridge the gap between flexible assembler syntax and the structured data requirements of high-level language brokers, enabling data structure identification without constraining original data placement flexibility.
2Adaptability or versatility
If data items are placed anywhere within a program in assembler language, then placement flexibility is achieved, but broker programs cannot effectively identify and transform the data structures
Solution Approach 1:
The patent performs preliminary analysis of assembler code to extract and structure data item information (offset, length, type) before the broker program executes. This preliminary structuring creates a ready-to-use data model that the broker program can directly consume, eliminating the need for the broker to parse unstructured assembler syntax and enabling effective data transformation while preserving original placement flexibility.
Solution Approach 2:
The patent creates an intermediary data model representation that serves as a bridge between flexible assembler data placement and broker program transformation requirements. This intermediate layer maintains the offset and positioning information from the original assembler code while presenting it in a structured format that broker programs can easily process and transform.
3Ease of operation
If high-level language data structures are used, then structured data transformation is enabled, but the rich data definition capabilities of assembler language are lost
Solution Approach 1:
The patent segments the structured data model into individual data items with specific attributes (offset, length, type) that correspond to the rich data definition capabilities of assembler language. Each segmented data item retains its positioning and formatting information, preserving the versatility of assembler data definitions while organizing them into a structured format suitable for high-level language transformation.
Solution Approach 2:
The patent performs preliminary extraction of data definition information from assembler code, capturing the rich capabilities (offsets, lengths, types) before transformation. This preliminary action preserves the detailed data definition information that would otherwise be lost, allowing the structured transformation process to maintain the versatility of original assembler data definitions.
Data Source
AI summary
A computer-implemented method for transforming implicit data structures expressed by assembler code into high-level language structures includes analyzing a section of assembler code to identify a plurality of data items. The computer-implemented method further includes storing the plurality of data items in a plurality of groups. The computer-implemented method further includes modifying one or more groups in the plurality of groups based, at least in part, on a pair of adjacent groups having a non-identical overlap. The computer-implemented method further includes creating an overlap list for each group. The computer-implemented method further includes generating data modeling language for the section based, at least in part, on each overlap list. A corresponding computer system and computer program product are also disclosed.


