Source Code Version Difference Identification Using Incorporated Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying differences between source codes of different software versions organized using incorporated files is challenging, particularly when conditional statements and multiple levels of incorporation are involved, making it difficult to determine changes required for migration to newer operating systems.

Innovation Solution

Construct listings of instructions by replacing incorporate statements with corresponding code file contents, determine functional constructs, and build hierarchies to compare and identify differences without evaluating conditional statements, facilitating the comparison of source codes across versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If source codes are organized using incorporated files with conditional statements, then code modularity and reusability are improved, but the difficulty of identifying differences between versions increases

Engineering Contradiction:
Improvecode modularityVSAvoiddifference identification difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the source code into individual file units, each representing a discrete incorporated file. By comparing files separately and systematically rather than treating the entire codebase as a monolithic unit, the system can identify differences more efficiently despite the complexity introduced by incorporation statements and conditional logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary processing system that resolves incorporation statements and conditional logic before comparison. This intermediary layer translates the complex incorporated file structure into a standardized format that can be systematically compared, thereby reducing the difficulty of identifying differences while preserving code modularity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If incorporate statements are used to include instructions from specified files, then code reusability and maintenance are improved, but the complexity of comparing source code versions increases

Engineering Contradiction:
Improvecode reusabilityVSAvoidcomparison process complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent performs preliminary processing of incorporate statements before the comparison process. By pre-resolving all incorporation references and constructing complete code representations in advance, the system eliminates the need to dynamically trace incorporation chains during comparison, thereby reducing process complexity while maintaining code reusability benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copied and standardized representations of incorporated code files. Instead of directly comparing the original complex file structures with all their incorporation statements, the system works with simplified copies that have had incorporation statements resolved, reducing comparison complexity while preserving the essential code content for meaningful comparison.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple levels of incorporation are implemented, then code organization and flexibility are improved, but the time required to identify material differences increases

Engineering Contradiction:
Improvecode organizationVSAvoiddifference identification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the multi-level incorporation hierarchy into discrete file units that can be processed independently. By breaking down the complex multi-level structure into manageable segments and comparing them systematically, the system reduces the time required to identify differences while preserving the organizational benefits of multiple incorporation levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by focusing comparison efforts on specific file segments and incorporation levels that are most likely to contain material differences. Rather than exhaustively analyzing every level of incorporation in every file, the system strategically selects key segments for comparison, reducing identification time while maintaining code organization integrity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9043757B2Identifying differences between source codes of different versions of a software when each source code is organized using incorporated files
Publication Date: 2015.05.26 ORACLE INT CORP
  • US9043757B2 patent drawing
  • US9043757B2 patent drawing
  • US9043757B2 patent drawing

AI summary

An aspect of the present invention identifies differences between source codes (e.g. of different versions of a software), when each source code is organized using incorporated files. In one embodiment, in response to receiving identifiers of a first and second source codes (each source code being organized as a corresponding set of code files), listings of the instructions in the first and second source codes are constructed. Each listing is constructed, for example, by replacing each incorporate statement in the source code with instructions stored in a corresponding one of code files. The differences between the first and second source codes are then found by comparing the constructed listings of instructions.