Predictive Build Payload Generation for Code Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems require generating a full build of code to identify changes, which is time-consuming and inefficient, consuming significant computing resources and taking nearly twenty-four hours to generate.

Innovation Solution

A payload generation system that predictsively identifies items affected by changes in a code base, generating a build payload that includes only these affected items, thereby reducing the need for full builds and comparisons.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a full build of the code base is generated to identify changes, then all changes can be detected, but the process consumes significant computing resources and takes nearly twenty-four hours

Engineering Contradiction:
Improvechange detection accuracyVSAvoidbuild generation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the code base into discrete items (files, binaries, libraries) and tracks their dependencies. Instead of building the entire code base, the system identifies and processes only the specific items that were changed and their dependent items, dividing the build process into manageable segments based on change impact.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary subset of items from the full code base that are affected by changes. By identifying changed items and their dependencies, the system extracts and processes only these specific items rather than the entire code base, significantly reducing build time while maintaining complete change detection.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of information

If a full build is generated to identify all changes, then complete update information is obtained, but computing resources are significantly consumed

Engineering Contradiction:
Improvechange information completenessVSAvoidcomputing resource consumption
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary actions by tracking and recording dependencies between code items before changes occur. The system maintains a dependency map that pre-identifies relationships between items, so when changes are detected, the affected items can be immediately identified without performing a full build, thus preserving information completeness while reducing resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of build scope from the entire code base to only the affected subset of items. By dynamically adjusting the build parameters based on change detection and dependency analysis, the system processes only the necessary items, maintaining complete change information while significantly reducing computing resource usage.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If incremental build is used to reduce build time, then processing speed improves, but identifying the correct items to build becomes more complex

Engineering Contradiction:
Improvebuild processing speedVSAvoiditem identification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component - a dependency tracking system - that mediates between change detection and build execution. This intermediary maintains relationships between code items and automatically determines the build scope by traversing dependency graphs, simplifying the identification process while enabling fast incremental builds.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the system continuously monitors changes to code items and uses this feedback to dynamically adjust the build scope. By feeding change information back through the dependency map, the system automatically identifies affected items without complex manual analysis, maintaining high productivity while managing identification complexity through automated feedback loops.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250165225A1Predictively generating a payload for an incremental build based on code changes in a code base
Publication Date: 2025.05.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250165225A1 patent drawing
  • US20250165225A1 patent drawing
  • US20250165225A1 patent drawing

AI summary

Changes to code in a code base are collected and a payload generation system identifies underlying computing items where the changes were made, as well as other items that are used by the underlying items or that are generated by the underlying items. The payload generation system generates a build payload including the identified items so that a build system can generate a build artifact that reflects the aggregated changes.