Knowledge Graph Regression Scope Mapping for Software Requirements
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development processes struggle to accurately determine the impact of new requirements on existing software and interconnected systems, particularly in micro-services architectures, due to manual and inefficient methods that lead to high costs and inaccurate regression scope identification.
Innovation Solution
An automated system generates knowledge graphs from requirements specifications and existing code, using vector representations and similarity analysis to link function and code entities, weighting these linkages based on call depth, code size, and complexity, thereby identifying the regression scope and affected code portions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual methods are used to determine regression scope, then developers can identify affected code portions, but the process is time-consuming and inaccurate
Solution Approach 1:
The patent replaces manual mechanical analysis with automated computational methods. Vector representations of code entities and requirements are generated, and similarity analysis algorithms automatically identify affected code portions, eliminating manual inspection while improving accuracy and speed.
Solution Approach 2:
The patent transforms code and requirements into vector space representations, changing the parameter space from textual/syntactic features to numerical vector features. This enables automated similarity computation and efficient identification of regression scope through mathematical operations rather than manual code review.
2Reliability
If comprehensive code analysis is performed to identify all affected portions, then accurate regression scope is determined, but the complexity of the analysis process increases
Solution Approach 1:
The patent extracts essential features from code entities and requirements, representing them as vectors that capture semantic meaning without including all detailed information. This extraction process simplifies the analysis by focusing on key characteristics while maintaining the ability to identify regression scope accurately.
Solution Approach 2:
The patent introduces vector representations as an intermediary between raw code and regression analysis. These vectors serve as a simplified medium that preserves essential relationships while reducing complexity, enabling automated similarity computation without directly analyzing complex code structures.
3Measurement precision
If detailed vector representations are generated for all code entities, then accurate similarity analysis is possible, but the computational resources and time required increase
Solution Approach 1:
The patent generates vector representations for code entities and requirements, but focuses similarity analysis only on relevant pairs identified through the vector comparison. This partial action approach avoids computing all possible similarities while maintaining accuracy for the regression scope identification task.
Data Source
AI summary
Mechanisms are provided to automatically identify a regression scope of a requirements specification for at least one functionality of a software product. A first knowledge graph, having function entities, is generated of the requirements specification specifying functional requirements for a software product and a first vector representation is generated for the function entities. Code entities for existing code for the software product are generated that comprise features associated with portions of the existing code, and a second vector representation is generated for these code entities. Code entities are linked to function entities based on a vector similarity analysis between the first vector representation and the second vector representation. A regression scope knowledge graph output is generated, based on the linked code entities and function entities, that depicts relationships between function entities corresponding to the functional requirements with code entities corresponding to portions of existing code for the software product.


