Code Path Gap Analysis for Software Testing Coverage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods fail to thoroughly cover all code execution paths, leading to potential errors in production environments due to untested sequences of application code, especially when modules interact in specific sequences.
Innovation Solution
A technique that identifies production code paths and test code paths by analyzing production logs, code dumps, and thread dumps, and compares them to potential execution paths, generating tree data structures to highlight test gaps, enabling developers to modify tests to cover missing sequences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If code coverage tools are used to determine the degree of code testing, then the measurement of testing coverage is improved, but the ability to identify specific untested code paths is insufficient
Solution Approach 1:
The patent segments the overall code coverage measurement into individual code path analyses. By breaking down the monolithic coverage metric into discrete executable statement sequences, the system can identify specific untested paths rather than just providing an aggregate percentage.
Solution Approach 2:
The patent adds a dimensional aspect to code coverage by introducing code path sequencing information. Instead of merely measuring whether code is executed, it tracks the specific sequences of executable statements, adding a path-dimension to the traditional coverage measurement.
2Reliability
If comprehensive testing of all code paths is attempted, then the thoroughness of testing is improved, but the time and resources required increase significantly
Solution Approach 1:
The patent implements feedback by comparing actual production code paths against test code paths to identify test gaps. This feedback mechanism directs testing efforts toward specific untested paths rather than requiring exhaustive manual testing of all possible paths.
Solution Approach 2:
The patent performs preliminary analysis of production code paths before conducting comprehensive testing. By pre-identifying which code paths are actually executed in production, the system can prioritize testing efforts on those specific paths rather than uniformly testing all possible paths.
3Adaptability or versatility
If test cases are designed to cover all potential code paths, then the completeness of testing is improved, but the complexity of test design increases
Solution Approach 1:
The patent enables the system to automatically identify test gaps by comparing production and test code paths. This self-service approach reduces the manual complexity of designing comprehensive test cases, as the system autonomously determines which paths require additional testing coverage.
Solution Approach 2:
The patent focuses testing efforts on the specific code paths that are actually executed in production rather than attempting to design tests for all theoretically possible paths. This partial action approach achieves practical completeness without the overwhelming complexity of exhaustive path coverage.
4Measurement precision
If production code paths are analyzed to identify untested sequences, then the accuracy of test gap identification is improved, but the data processing requirements increase
Solution Approach 1:
The patent extracts only the relevant code path information from production logs and test execution data, rather than processing all available data. By isolating and analyzing only the executable statement sequences, the system achieves accurate test gap identification without overwhelming data processing requirements.
Data Source
AI summary
Systems and techniques are described for identifying test gaps. A described technique includes identifying production code paths for an application. Each production code path specifies a respective sequence of code of the application that was executed in a production environment. Test code paths are identified for the application. Each test code path specifies a respective sequence of the application that was tested in a test environment. The production code paths are compared to the test code paths to identify a set of test gaps for the application. Each test gap specifies a respective production code path that is not included in the test code paths. Test gap data specifying the test gaps for the application can be provided for presentation to a user.


