Impact Analysis Engine for Software Code Traceability
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
4Loss of time
If manual judgment is used to minimize test plan lists, then over testing is reduced, but regression testing quality is compromised
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.
Data Source
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.


