Intelligent Code Coverage Tool for Software Testing Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code coverage testing methods are resource-intensive and time-consuming, especially for large or complex applications, which can delay software releases and increase costs, and are not adequately optimized for less critical applications.

Innovation Solution

A rule-based intelligent code coverage tool that determines appropriate test case scenarios to maximize coverage while minimizing processing time and resources, allowing for prioritization of test case runs and customization of options to adapt to different programming environments and application domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exhaustive code coverage testing is performed on large or complex applications, then testing completeness is improved, but labor cost and processing time increase significantly

Engineering Contradiction:
Improvetesting completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the codebase into modules or functions and applies different testing strategies to different segments. Critical modules receive exhaustive testing while less critical modules receive simplified testing, thereby reducing overall processing time while maintaining adequate coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by tailoring the testing depth and methodology to the specific characteristics of different code regions. High-risk or complex areas receive intensive testing while straightforward areas receive minimal testing, optimizing the balance between completeness and efficiency.

Inventive Principle:
Principle #3Local quality

2Reliability

If exhaustive code coverage testing is performed on large or complex applications, then testing completeness is improved, but labor cost increases

Engineering Contradiction:
Improvetesting completenessVSAvoidlabor cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent divides the testing effort into segments based on code criticality and complexity, allowing automated testing tools to handle routine segments while human testers focus on complex segments, thereby reducing overall labor cost.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service through automated testing frameworks that can independently execute tests, generate reports, and identify issues without requiring extensive manual intervention, significantly reducing labor costs while maintaining testing completeness.

Inventive Principle:
Principle #25Self-service

3Reliability

If exhaustive code coverage testing is performed, then software reliability is improved, but software release timing is delayed

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidrelease speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by conducting automated static code analysis and unit testing during the development phase before integration testing. This early detection of issues prevents delays during later release phases while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous testing throughout the software development lifecycle rather than performing exhaustive testing only before release. This continuous approach maintains reliability while enabling faster releases through incremental validation.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10146668B1Modeling code coverage in software life cycle
Publication Date: 2018.12.04 EMC IP HLDG CO LLC
  • US10146668B1 patent drawing
  • US10146668B1 patent drawing
  • US10146668B1 patent drawing

AI summary

A code coverage tool applies predefined rules applicable to user input to determine a test scenario from predefined test cases to best achieve a code coverage goal. For example, the code coverage goal may specify a target percentage of code coverage for areas, functions, conditions, or statement of interest to the user. The user input may select built-in rules or user supplied rules, and the user input may specify areas or functions that are mapped to the test cases. The built-in rules prioritize selected test cases for execution at run time to provide code coverage maximization with minimum utilization of resources. The user input may also specify a type of coverage, a test case priority, and a test case type.