Integration Build Prediction System Using Developer Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development teams face challenges in predicting integration build failures between source components due to concurrent modifications in other components, making it difficult to determine when to test and whether integration builds will be successful.

Innovation Solution

A method that monitors integration builds, compares them with prior builds, and predicts the probability of a successful integration using integration and developer metrics, including data on check-ins, build times, and test success rates, to notify developers of necessary actions for debugging and testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If development teams test their components against other components before integration, then integration build failures are reduced, but the complexity of coordinating tests across multiple teams increases

Engineering Contradiction:
Improveintegration build success rateVSAvoidtest coordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system continuously monitors integration builds and compares them with prior builds to detect changes. When changes are detected, the system provides feedback to development teams about which components have been modified and which tests should be performed, enabling targeted testing rather than comprehensive coordination across all teams.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of integration builds by comparing current builds with prior builds before actual integration occurs. This preliminary action identifies potential failure points and notifies teams in advance, allowing them to prepare appropriate tests before the integration build is executed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If development teams continuously monitor and test all components, then integration failures are detected early, but the time and resources required for testing increase

Engineering Contradiction:
Improveintegration build success rateVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of requiring all development teams to continuously test all components, the system applies partial action by identifying only the specific components that have changed and notifying only the relevant teams to perform tests on affected integration points. This reduces the overall testing burden while maintaining detection effectiveness.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts testing requirements based on actual changes detected in integration builds. When no changes are detected, no testing is required. When changes are detected, testing is triggered only for affected components. This dynamic approach optimizes the balance between early failure detection and time/resource consumption.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If development teams assume other components do not change, then the harness testing approach is simple to implement, but integration failures occur when other teams modify their components

Engineering Contradiction:
Improveharness creation easeVSAvoidintegration build success rate
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system maintains the simplicity of harness creation while adding a feedback mechanism that monitors integration builds for changes. When changes are detected in components that interact with the harness, the system notifies the development team to update their harness or perform additional tests, ensuring reliability without complicating the initial harness creation process.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10970636B1Adaptive system for predicting integration failures in large systems
Publication Date: 2021.04.06 INTUIT INC
  • US10970636B1 patent drawing
  • US10970636B1 patent drawing
  • US10970636B1 patent drawing

AI summary

Techniques are disclosed for predicting the probability of successfully building the software application whether an integration build between source components of a software application will be successful. An integration service executing on a server computer determines whether to test an integration build of source components of a software application. The integration service obtains metrics related to the developer of each component as well as any previous integration builds of the components. Based on the metrics, the integration service predicts a probability of a successful integration build of the source components. Based on the probability of a successful integration build, the integration service may notify a developer to perform an action to increase the likelihood of the integration build being successful.