Impact Analysis Engine for Software Code Traceability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development processes face challenges in identifying and analyzing the impact of changes to software code, leading to regression issues due to complex dependencies and inadequate testing, especially in multi-team environments, resulting in inefficient and incomplete regression testing.

Innovation Solution

A system and method utilizing an impact analysis engine that retrieves code change data from various sources, automatically identifies impacted artifacts and linked elements, and generates a comprehensive impact analysis report, enabling deep impact analysis across different software code versions without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code is separated feature-wise to remove dependencies, then regression testing scope is reduced, but code duplicity increases and testing scope expands significantly

Engineering Contradiction:
Improveregression testing coverageVSAvoidcode structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the codebase by organizing it into feature-specific directories and files, where each feature has its own dedicated code structure. This segmentation allows for isolated testing of individual features while maintaining traceability through metadata that links code elements to their corresponding features, thereby reducing regression testing scope without creating code duplicity.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If extensive documentation is used to track code changes, then impact analysis becomes possible, but manual effort increases and errors are prone

Engineering Contradiction:
Improveimpact analysis accuracyVSAvoidmanual documentation effort
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system implements self-service impact analysis by automatically generating and maintaining documentation through code scanning and metadata extraction. The impact analysis engine autonomously traverses the codebase, identifies affected features and artifacts, and produces impact reports without requiring manual documentation updates, thereby eliminating manual effort while maintaining accurate impact tracking.

Inventive Principle:
Principle #25Self-service

3Productivity

If feature-to-module mapping is used for impact analysis, then testing focus is improved, but over testing occurs due to massive test plan lists

Engineering Contradiction:
Improvetesting efficiencyVSAvoidnumber of test plans
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by implementing a filtering mechanism that identifies and executes only the necessary subset of test plans based on the specific code changes detected. The impact analysis engine analyzes the change scope and selectively triggers only those tests that are actually affected, avoiding the execution of unnecessary tests while maintaining comprehensive coverage of impacted functionality.

Inventive Principle:
Principle #16Partial or excessive action

4Loss of time

If manual judgment is used to minimize test plan lists, then over testing is reduced, but regression testing quality is compromised

Engineering Contradiction:
Improvetesting timeVSAvoidregression testing quality
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the impact analysis engine continuously monitors code changes, automatically updates the test plan selection, and validates testing outcomes. This closed-loop feedback system replaces manual judgment with automated decision-making that maintains high regression testing quality by ensuring all necessary tests are executed based on actual code impact analysis.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11544179B2Source traceability-based impact analysis
Publication Date: 2023.01.03 OPSHUB
  • US11544179B2 patent drawing
  • US11544179B2 patent drawing
  • US11544179B2 patent drawing

AI summary

A system including an impact analysis engine (IAE) and a method for analyzing impact of changes to a software code are provided. The IAE iteratively processes and compares lines of the software code changed across different versions of the software code for deriving the impact of changes performed for a requested version. The IAE automatically identifies artifacts impacted by changes to each line of the software code across different versions by processing code change data. The code change data includes change data between start and end tags of the software code and commit actions previous to the start tag. The code change data includes unique identifiers of artifacts traced to the commit actions, which allow customized retrieval of artifact data including features, defects, and epics impacted by changes to each line of the software code. The IAE automatically identifies linked elements, for example, tests, traced to the identified artifacts.