ML Feature Tags for Selective Code Testing in Version Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In version control systems, especially those with large and complex software architectures, updating and testing individual components can be time-consuming and inefficient, as existing methods require separate testing of all components, even if only a few are affected by the updates, leading to wasteful resource usage.

Innovation Solution

A method using machine learning to identify and automatically test only the subset of codes in a version control system that are functionally affected by updates, by mapping updates with trained feature labels and performing verification jobs on those specific codes, thus reducing unnecessary testing across the entire system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate test jobs are performed for each component update, then comprehensive testing coverage is achieved, but time consumption increases significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the testing process by dividing the code repository into multiple components and associating each component with specific feature labels. When an update occurs, only the affected components and their related test jobs are identified and executed, rather than running all test jobs for all components. This segmentation enables selective testing that maintains comprehensive coverage of affected areas while reducing overall time consumption.

Inventive Principle:
Principle #1Segmentation

2Reliability

If entire suite testing is performed for all components, then complete system verification is ensured, but resource wastage occurs on unaffected components

Engineering Contradiction:
Improvesystem verificationVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by making different parts of the testing system operate with different intensities based on their relevance to the update. Feature labels enable the system to identify which components have been locally affected by an update, and consequently, only those specific components undergo verification. This localized approach ensures that system verification is complete for affected areas while avoiding resource wastage on unaffected components.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If feature labels are manually assigned to code components, then accurate functional mapping is achieved, but operation complexity increases

Engineering Contradiction:
Improvefunctional mapping accuracyVSAvoidoperation complexity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling the system to automatically generate and assign feature labels to code components without requiring manual intervention. The machine learning model analyzes code changes and automatically determines which feature labels apply to which components, thereby achieving accurate functional mapping while eliminating the operational complexity of manual label assignment.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If individual test jobs are executed separately for each update, then precise defect localization is achieved, but productivity decreases

Engineering Contradiction:
Improvedefect localizationVSAvoidtesting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges multiple individual test jobs into a coordinated testing workflow based on feature label associations. When an update affects multiple components, the system identifies all related test jobs through feature labels and executes them in an integrated manner. This merging maintains precise defect localization capability while improving productivity by reducing the overhead of separate job execution and enabling parallel processing of related tests.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240289262A1Automatic testing with feature tags trained by machine learning for updates in version control systems
Publication Date: 2024.08.29 RED HAT INC
  • US20240289262A1 patent drawing
  • US20240289262A1 patent drawing
  • US20240289262A1 patent drawing

AI summary

Devices, systems, methods, and techniques are disclosed herein for automatic testing with feature tags trained by machine learning for updates in version control systems. An example method includes deploying multiple updates in a code repository of a version control system and mapping the multiple updates using multiple feature labels. The multiple feature labels have been trained in a machine learning model to represent corresponding functional features. A processing device then identifies a subset of codes in the code repository. The subset of codes in the code repository is functionally affected by the multiple updates and is identified based on the multiple feature labels. The processing device performs a verification job on each of the subset of codes in the code repository in preparation for committing the multiple updates in the code repository.