Automated Code Validation System with Tenant Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, managing and validating large, interconnected codebases is time-consuming and inefficient due to the reliance on manual intervention in monolithic engineering systems, where the probability of success decreases exponentially with the number of components.

Innovation Solution

An automated build and test validation system that uses a tenant model to segment codebases into smaller pieces, allowing for automated validation workflows defined in structured languages like XML, enabling automatic classification and corrective actions upon build failures, including error escalation and intelligent backout of changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual intervention is used to build and validate code in a monolithic system, then the system can handle complex interconnected codebases, but the process becomes time-consuming and inefficient

Engineering Contradiction:
Improvecode validation speedVSAvoidtime for manual intervention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides a monolithic codebase into smaller independent units called tenants. Each tenant can be built and validated independently through automated workflows, eliminating the need to validate the entire codebase when making minor changes. This segmentation directly addresses the contradiction by maintaining the ability to handle complex codebases while dramatically reducing validation time through selective, automated processing of only affected segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements automated build and validation workflows that execute without manual intervention. When code changes are detected, the system automatically identifies affected tenants, triggers appropriate validation workflows, and performs corrective actions if failures occur. This self-service automation resolves the contradiction by eliminating time-consuming manual steps while maintaining comprehensive validation of complex interconnected codebases.

Inventive Principle:
Principle #25Self-service

2Reliability

If the entire codebase is validated on every change, then completeness is ensured, but the time required increases exponentially with the number of components

Engineering Contradiction:
Improvevalidation completenessVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the codebase into tenants with defined dependencies, the system validates only the specific tenants affected by code changes rather than the entire codebase. The dependency graph automatically identifies which segments need validation, ensuring completeness for affected areas while avoiding redundant validation of unrelated segments, thus resolving the time-completeness contradiction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial validation by executing workflows only for tenants that are actually affected by code changes, rather than performing excessive full-codebase validation on every change. This selective approach maintains reliability for the affected portions while dramatically reducing overall validation time by avoiding unnecessary validation of unchanged segments.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If automated workflows are implemented, then efficiency improves, but system complexity increases

Engineering Contradiction:
Improvevalidation efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal workflow engine that handles multiple validation scenarios through a single automated system. This engine can execute different types of workflows (build, test, validate, deploy) across different tenants using a common framework. The universality of this approach improves efficiency by consolidating automation capabilities while managing complexity through standardized processes rather than separate custom solutions for each scenario.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system introduces a workflow engine as an intermediary layer between code changes and validation execution. This mediator automatically determines which workflows to run based on change analysis, manages workflow execution, and handles corrective actions. This intermediary approach improves efficiency by centralizing automation logic while managing system complexity by abstracting the complexity away from individual validation processes and consolidating it in a manageable central component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10282275B2Method and system for managing code
Publication Date: 2019.05.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10282275B2 patent drawing
  • US10282275B2 patent drawing
  • US10282275B2 patent drawing

AI summary

Management of an extensive code database having multiple user tenants building code is provided. A request to check-in code is received, and a build and validation to check-in the update to a user's code is performed. The validation results in indication of an error due to a bad state of the system that performed the build. The build machine is rebooted, and a second build is performed. Optionally, a user is prompted during a grace time period to cancel the corrective action of rebooting the build machine. Optionally, the validation error may be indicated as a product issue, a network issue, or a known limitation in the compiler. Optionally, other corrective actions such as preventing retrying the build and escalating the error may be taken. Optionally, the build may be prevented when the check-in includes code that produced an error on a previous build.