Intelligent Regression Fortifier Tool Dependency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, regression testing is time-consuming and resource-intensive, often performed only periodically, which can lead to delayed identification of regression-causing code changes and inefficient use of resources, as it typically involves compiling and testing all projects, including dependent ones, without guaranteeing regression-free code.

Innovation Solution

The Intelligent Regression Fortifier Tool (IRFT) identifies affected modules and their dependencies, generating a project test set for focused regression testing, executing a subset of test cases based on priority, and triggering tests only on affected projects and their dependents, thereby optimizing resource use and ensuring timely addressing of regression issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If regression testing is performed on all projects including dependent ones, then reliability of regression-free code is improved, but productivity and time consumption worsen

Engineering Contradiction:
Improveregression-free code guaranteeVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monolithic regression testing process into modular impact analysis components. It divides projects into affected and unaffected segments based on dependency graphs, enabling selective testing of only those modules impacted by code changes. This segmentation resolves the contradiction by maintaining reliability through systematic coverage of affected areas while improving productivity by excluding unaffected segments from the testing process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by intensifying testing resources and analysis depth specifically in areas affected by code changes, rather than uniformly applying regression testing across all projects. The impact analysis mechanism identifies local regions of impact and concentrates testing efforts there, ensuring high reliability where needed while reducing overall time consumption by skipping unaffected areas.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If comprehensive regression testing is performed on all code changes, then measurement precision of regression detection is improved, but loss of time increases

Engineering Contradiction:
Improveregression detection accuracyVSAvoidtesting duration
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary impact analysis before executing regression tests. By pre-computing dependency graphs and identifying affected projects/modules in advance, the system prepares a targeted test plan that maintains high regression detection accuracy. This preliminary action resolves the contradiction by ensuring comprehensive coverage of relevant areas while eliminating wasted time on unaffected components.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by performing regression testing on a carefully selected subset of affected projects rather than all projects. The impact analysis mechanism ensures that this partial coverage is sufficient to detect regressions by focusing on modules with direct or indirect dependencies on changed code, thereby maintaining measurement precision while significantly reducing testing time.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If dependency analysis is performed to identify affected modules, then productivity is improved by reducing test scope, but device complexity increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidanalysis mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary dependency graph mechanism that mediates between code changes and regression testing. This intermediary structure systematically captures project dependencies and enables automated identification of affected modules. While this adds some complexity to the analysis mechanism, it resolves the contradiction by enabling highly efficient targeted testing that far outweighs the overhead of maintaining the dependency analysis infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual model (dependency graph) that copies and represents the complex interrelationships between projects and modules. This copied representation simplifies the analysis process by providing a structured view of dependencies, enabling efficient impact propagation analysis without directly navigating the full complexity of actual project interconnections.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11269759B2Intelligent regression fortifier
Publication Date: 2022.03.08 SAP SE
  • US11269759B2 patent drawing
  • US11269759B2 patent drawing
  • US11269759B2 patent drawing

AI summary

Methods, systems, and computer-readable storage media for receiving, by an IRFT, a commit, the commit including one or more code changes to the project, in response to receiving the commit, providing, by the IRFT, a dependency map, the dependency map defining dependencies between the project and one or more of one or more other projects, one or more packages, and one or more bundles, generating, by the IRFT, a project test set based on the dependency map, the project test set including one or more projects each having one or more features to be regression tested, and initiating, by the IRFT, execution of regression testing of features of projects included in the project test set, wherein regression testing comprises executing a sub-set of test cases based on priority.