Selective Source Code Merging via Dependency Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Updating local source code from a cloud environment is bandwidth-intensive and prone to errors due to incorrect merging of code components, leading to system malfunctions and crashes, as conventional methods fail to manage dependencies and merge code efficiently.

Innovation Solution

A system that selectively merges code components from a cloud environment to a local system by resolving dependencies and using metadata templates for full or partial merges, enabling faithful integration of working source code into master source code while deployed, thus preventing performance degradation and crashes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire source code is updated frequently from the cloud to the local system, then the local copy remains synchronized with cloud developments, but bandwidth consumption increases significantly and system resources are heavily dedicated to maintenance

Engineering Contradiction:
Improvesource code synchronizationVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The source code is divided into multiple components, and only the changed components are transferred from cloud to local system. The system identifies and extracts specific modified components (e.g., individual classes, methods, or modules) rather than transferring the entire codebase, thereby reducing bandwidth consumption while maintaining synchronization reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system extracts only the necessary changed portions from the cloud source code and transfers them to the local system. By using component-level identification and selective extraction, the system avoids transferring unnecessary code, reducing network bandwidth usage while ensuring the local copy remains synchronized with cloud developments.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of energy

If only portions of the source code are updated to reduce bandwidth consumption, then bandwidth requirements decrease, but the risk of updating incorrect source code increases leading to errors and system malfunctions

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidsource code accuracy
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary validation and verification of component changes before applying them to the local source code. It checks component dependencies, validates syntax and semantics, and ensures compatibility with existing code structures before merging, thereby preventing errors and malfunctions while maintaining selective update efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms to verify the correctness of merged components. It monitors system behavior after updates, detects potential errors or inconsistencies, and provides feedback for corrective actions. This feedback loop ensures that selective updates maintain source code accuracy and prevent system malfunctions.

Inventive Principle:
Principle #23Feedback

3Productivity

If source code components are merged as they are received without considering dependencies, then the merging process is simple and fast, but components may be merged in wrong order causing execution failures or system crashes

Engineering Contradiction:
Improvemerging speedVSAvoidcode execution stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary dependency analysis and topological sorting of components before merging. It identifies the correct merge order by analyzing dependency relationships (e.g., which components depend on which others) and prepares a merge sequence that ensures all prerequisite components are in place before their dependents are merged, preventing execution failures while maintaining efficient processing.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If conventional merging methods are used to integrate code components, then the merging process is straightforward, but code fragments may be inserted in wrong locations causing system malfunctions or crashes

Engineering Contradiction:
Improvemerging simplicityVSAvoidsystem operation stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system introduces an intermediary component placement mechanism that uses metadata, annotations, or structural markers in the source code to identify correct insertion locations. Instead of simple concatenation or arbitrary insertion, the system acts as an intelligent mediator that places code fragments at their proper locations based on dependency graphs, structural analysis, or version control information, ensuring system stability while maintaining operational simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11036492B2Dynamically updating source code from a cloud environment
Publication Date: 2021.06.15 BANK OF AMERICA CORP
  • US11036492B2 patent drawing
  • US11036492B2 patent drawing
  • US11036492B2 patent drawing

AI summary

A code merging system is configured to manage the storage of source code on a local system in the software development cycle. A cloud environment hosts working source code, which is composed of metadata artifact components. Copies of some of the metadata artifact components are transferred to a source code control and merged with master source code in either a partial merge process or a full merge process.