Real-Time Code Analysis for Regression Testing Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, regression testing is resource-intensive and time-consuming, especially when dealing with large test suites and frequent code changes, as it often requires re-running the entire test suite after every modification, which can lead to inefficiencies and increased costs due to the re-emergence of faults and bugs.

Innovation Solution

A method and system for real-time analysis of code using overlapping code segments, where test cases are executed to identify and prioritize overlapping code segments for targeted testing, allowing for selective execution of tests based on previous outputs and inputs, reducing the need to run the entire test suite and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire test suite is re-run after every code change, then regression testing completeness is improved, but testing time and resource consumption increase

Engineering Contradiction:
Improveregression testing completenessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the monolithic test suite into smaller, independent test cases that can be executed selectively. Each test case is associated with specific code segments, allowing the system to identify and execute only the relevant subset of tests affected by code changes, rather than running the entire test suite.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by executing only the necessary portion of the test suite based on code change analysis. The system determines the minimal set of test cases that need to be run to verify the impact of changes, reducing unnecessary test executions while maintaining adequate regression testing coverage.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If the entire test suite is re-run after every code change, then bug detection capability is improved, but resource consumption increases

Engineering Contradiction:
Improvebug detection capabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The test suite is segmented into individual test cases that can be independently selected and executed. This segmentation allows the system to run only the specific test cases relevant to the code changes, reducing overall resource consumption while maintaining effective bug detection for the affected areas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the execution parameters of the testing process by selecting which test cases to run based on code change analysis. This parameter adjustment optimizes resource usage by avoiding the execution of test cases that are not relevant to the current code changes.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If regression testing is performed frequently, then software quality is improved, but productivity decreases

Engineering Contradiction:
Improvesoftware qualityVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by running only the necessary subset of test cases rather than the complete test suite. This approach enables more frequent regression testing to be performed with reduced overhead, maintaining software quality while minimizing the impact on development productivity.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system skips unnecessary test cases that are not relevant to the current code changes. By identifying and skipping these tests, the system can perform regression testing more quickly and frequently without significantly impacting overall development speed.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11288174B2Testing a code using real time analysis
Publication Date: 2022.03.29 APPL MATERIALS ISRAEL LTD
  • US11288174B2 patent drawing
  • US11288174B2 patent drawing
  • US11288174B2 patent drawing

AI summary

A method, non-transitory computer readable medium and a computerized system for testing a code using real time analysis. The method can include (i) executing a group of test cases while performing real time analysis to find a set of overlapping code segments (OCSs), input values that are fed, during the executing of the group, to each one of the set of OCSs, and output values that are outputted from each one of the OCSs during the execution of the group, (ii) generating, for at least some of the OCSs, at least one OCS test for testing each of the at least some OCSs, wherein the generating is based, at least in part, on the input values and the output values, (iii) determining an evaluation process of the code that includes executing one or more OCS tests for testing one or more OCSs, (iv) evaluating the code by executing the evaluation process.