Joint Validation Across Interdependent Code Repositories

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development platforms, especially those using multi-tenant database systems, code updates across inter-dependent code repositories often result in inaccurate validation due to separate repository-specific validations, leading to false positives or false negatives, as these systems fail to consider correlated code updates in other repositories.

Innovation Solution

Implementing joint validation across code repositories by identifying correlated pull requests, generating a test build based on the current states of multiple repositories, and running validation tests on this build to ensure that code updates do not break dependent code in other repositories, thereby preventing false validation results and ensuring accurate merging of code updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate repository-specific validations are performed, then validation speed is improved, but validation accuracy deteriorates due to false positives or false negatives from not considering correlated code updates

Engineering Contradiction:
Improvevalidation speedVSAvoidvalidation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent merges separate repository validations into a unified joint validation process. When code dependencies between repositories are detected, the system combines the code updates from multiple repositories and performs a single integrated validation test, ensuring that interactions between repositories are properly accounted for while maintaining efficient validation throughput

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The validation system is segmented into two paths: independent validation for unrelated repositories and joint validation for correlated repositories. This segmentation allows the system to perform quick independent validations when applicable, while switching to comprehensive joint validation only when code dependencies exist, thus balancing speed and accuracy

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If joint validation across multiple repositories is performed, then validation accuracy is improved, but validation time increases due to processing multiple repositories

Engineering Contradiction:
Improvevalidation accuracyVSAvoidvalidation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs partial joint validation by including only the specific repositories that have code dependencies with the modified repository, rather than validating all repositories. This selective approach ensures accurate validation of correlated code while minimizing unnecessary validation time for unrelated repositories

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary analysis to identify code dependencies between repositories before initiating joint validation. By pre-determining which repositories are correlated through dependency analysis, the system prepares the exact scope of joint validation needed, avoiding time-consuming validation of unrelated repositories

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11321226B2Joint validation across code repositories
Publication Date: 2022.05.03 SALESFORCE INC
  • US11321226B2 patent drawing
  • US11321226B2 patent drawing
  • US11321226B2 patent drawing

AI summary

Methods, systems, and devices supporting joint code validation across code repositories are described. Some systems may store code across multiple code repositories, where the code repositories support repository-specific pull requests and validations. However, code stored in one repository may depend on code stored in a different repository. To accurately validate changes to such code, a system may identify a validation trigger for a first pull request (e.g., indicating one or more code changes to a first code repository), determine a second code repository or second pull request related to the first pull request, and generate a test build across the code repositories. For example, the test build may include code updates in the first code repository according to the first pull request and code from the second code repository (e.g., updated according to the second pull request). The system may perform joint validation tests on the test build.