Build Avoidance Without Local Source Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional build automation tools require local source code for fingerprinting, leading to inefficient network bandwidth usage, storage, and processing cycles, especially in distributed software development environments, and rely on unreliable timestamps for determining source code changes.

Innovation Solution

Generating abstract hash values from source code changes only when actual changes occur, allowing build fingerprints to be created without local source code, enabling a build engine server to compare these fingerprints and avoid rebuilding unchanged components, thus eliminating the need for local source code and timestamp synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional build automation tools use local source code for fingerprinting, then accurate change detection is achieved, but network bandwidth, storage, and processing cycles are excessively consumed

Engineering Contradiction:
Improvechange detection accuracyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent extracts only the essential identifying feature (hash value) from the source code rather than transferring the entire source code. The build automation tool receives hash values from remote repositories, computes fingerprints from these extracted hash values, and performs change detection without needing the actual source code locally, thereby reducing network bandwidth consumption while maintaining detection accuracy

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of copying actual source code files to the build automation tool, the system copies only the hash values (abstract representations) from remote repositories. These hash value copies are sufficient for fingerprint computation and change detection, eliminating the need to transfer large volumes of source code data

Inventive Principle:
Principle #26Copying

2Productivity

If source code timestamps are used to determine changes, then processing is simplified, but reliability deteriorates due to timestamp updates on file access

Engineering Contradiction:
Improvebuild automation efficiencyVSAvoidchange detection reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent replaces the mechanical timestamp-based change detection system with a hash-based computational system. Instead of relying on file system timestamps that are updated on access, the system uses hash values computed from source code content, providing reliable change detection that is independent of file access operations and timestamp manipulation

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Extent of automation

If source code is transferred to centralized build automation tool, then unified build control is achieved, but distributed environment autonomy is reduced

Engineering Contradiction:
Improvecentralized build controlVSAvoiddistributed environment flexibility
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent segments the build automation function into two independent parts: remote repositories that maintain source code and generate hash values, and the centralized build automation tool that receives hash values and performs fingerprint computation. This segmentation allows distributed repositories to operate autonomously while still enabling centralized build control through the hash value exchange mechanism

Inventive Principle:
Principle #1Segmentation

4Manufacturing precision

If local source code is required for building, then build accuracy is maintained, but system complexity increases due to source code management and synchronization

Engineering Contradiction:
Improvebuild accuracyVSAvoidsource code management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent introduces hash values as an intermediary between the remote source code repositories and the centralized build automation tool. These hash values serve as mediators that carry the essential information needed for build accuracy without requiring the actual source code to be present locally, thereby simplifying source code management and reducing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11099837B2Providing build avoidance without requiring local source code
Publication Date: 2021.08.24 EMC IP HLDG CO LLC
  • US11099837B2 patent drawing
  • US11099837B2 patent drawing
  • US11099837B2 patent drawing

AI summary

A technique controls a new software build. The technique involves receiving abstract hash values for source code components. Each abstract hash value is derived from a most recent source code version of a respective source code component. The technique further involves generating new build fingerprints based on the abstract hash values. The new build fingerprints are different from the abstract hash values received for the source code components. The technique further involves building particular software components of the new software build based on comparisons between the new build fingerprints and respective previous build fingerprints generated during a set of previous software builds.