Multi-Channel Code Coverage Merging for Leaner Test Suites

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional code coverage analysis methods struggle to efficiently address the complexities of modern software systems, particularly large-scale applications with intricate code structures, leading to inefficiencies and inaccuracies due to reliance on manual inspection or limited automated tools.

Innovation Solution

A system and method for creating an optimal test suite by merging code coverage data from multiple testing channels (unit, automation, manual, and crowdsource) to identify and eliminate less efficient test cases, using AI and NLP to generate additional test cases when necessary, ensuring comprehensive code coverage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple testing channels are used to achieve comprehensive code coverage, then code coverage is improved, but testing time and resource consumption increase

Engineering Contradiction:
Improvecode coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges code coverage data from multiple testing channels (unit testing, automation testing, manual testing, crowdsource testing) into a unified dataset. This consolidation allows comprehensive code coverage to be achieved while enabling subsequent optimization by identifying and eliminating redundant test cases across channels, thus reducing overall testing time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically adjusts the test suite by eliminating test cases with lesser efficiency based on multiple parameters including execution time, execution cost, and resources required. This parameter-based optimization maintains code coverage while reducing testing time and resource consumption.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If comprehensive code coverage is achieved through multiple testing channels, then testing thoroughness is improved, but resource requirements increase

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidresource requirements
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By merging code coverage data from multiple testing channels into a combined dataset, the system achieves comprehensive testing thoroughness while creating a unified view that enables identification of redundant test cases, thereby optimizing resource utilization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system optimizes resource requirements by eliminating test cases based on execution cost and resources required parameters, while maintaining testing thoroughness through AI-generated test cases that target uncovered code paths efficiently.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If manual inspection and limited automated tools are used for code coverage analysis, then implementation simplicity is maintained, but analysis accuracy deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidanalysis accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The system automatically merges code coverage data from multiple testing channels, identifies redundant test cases, and generates additional test cases using AI models without requiring manual intervention. This self-service approach maintains implementation simplicity while dramatically improving analysis accuracy through comprehensive multi-channel data processing.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual inspection with automated AI-driven analysis that processes code coverage data from multiple testing channels. This substitution of mechanical/manual processes with intelligent automated systems improves measurement precision while keeping the system ease to implement through standardized workflows.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Extent of automation

If traditional automated tools are used for code coverage analysis, then automation level is maintained, but analysis capability deteriorates

Engineering Contradiction:
Improveautomation levelVSAvoidanalysis capability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The system integrates multiple testing channels (unit testing, automation testing, manual testing, crowdsource testing) into a unified analysis framework, making the automated tool versatile enough to handle diverse testing data sources and complex code structures, thereby improving analysis capability while maintaining high automation level.

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

Solution Approach 2:

The patent enhances traditional automated tools by incorporating AI models and NLP techniques that enable the system to analyze and generate test cases with greater adaptability and versatility, moving beyond the limitations of conventional automated analysis tools.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12360882B2Creating an optimal test suite
Publication Date: 2025.07.15 WEBOMATES INC
  • US12360882B2 patent drawing
  • US12360882B2 patent drawing
  • US12360882B2 patent drawing

AI summary

A system and a method for creating an optimal test suite. The system may receive code coverage data from a set of testing channels. Further, a combined dataset is created by merging the code coverage data received from the set of testing channels. The combined dataset is analyzed to identify a line of code being executed by two or more test cases corresponding to two or more testing channels of the set of testing channels. Further, at least one test case from the two or more test cases having less efficiency is eliminated to create an optimal test suite. The efficiency is determined based on at least one of execution time, execution cost, and resources required to execute the line of code.