Source Code Version Difference Identification Using Incorporated Files
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


