Coverage Determination via Merged Report Subsets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software testing, determining comprehensive code coverage is inefficient due to the time-consuming process of merging large numbers of coverage reports, which often results in redundant calculations and prolonged processing times, especially when dealing with millions of reports.

Innovation Solution

A method that selects a subset of interest from saved merged coverage reports, identifies the report with the smallest number of unwanted reports, and either merges or subtracts these reports to efficiently generate a new merged coverage report, thereby reducing processing time by projecting newly gathered reports onto the saved merged coverage reports rather than re-merging all individual reports.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all individual coverage reports are merged together to determine comprehensive code coverage, then coverage completeness is improved, but processing time increases significantly

Engineering Contradiction:
Improvecoverage completenessVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by merging coverage reports into summary reports before the actual coverage determination. These summary reports pre-aggregate coverage data from multiple individual reports, so when new reports arrive, the system can quickly merge them with the pre-computed summaries rather than processing all individual reports from scratch, thus reducing processing time while maintaining coverage completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the coverage determination process by dividing individual coverage reports into summary reports that aggregate coverage data. This segmentation allows the system to work with smaller, pre-processed data units (summaries) instead of processing all individual reports simultaneously, reducing the computational burden and processing time while still achieving comprehensive coverage determination when all segments are combined.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If coverage reports are merged repeatedly as tests continue, then coverage accuracy is improved, but processing time increases proportionally

Engineering Contradiction:
Improvecoverage accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system creates summary reports in advance that pre-aggregate coverage data from multiple individual reports. When new coverage reports are generated during continued testing, the system merges these new reports with the pre-computed summaries rather than repeatedly processing all individual reports, maintaining coverage accuracy while significantly improving processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system merges individual coverage reports into summary reports that combine coverage data from multiple sources. This merging operation creates a condensed representation of coverage information that can be quickly updated with new reports, maintaining accurate coverage measurement while reducing the processing time required for each subsequent merge operation.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If all saved merged coverage reports are processed to find the subset of interest, then coverage determination accuracy is improved, but processing time increases

Engineering Contradiction:
Improvecoverage determination accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system extracts and processes only the necessary subset of coverage reports from the saved merged reports. By identifying and working with only the relevant reports needed for the current coverage determination task rather than processing all saved reports, the system maintains accuracy for the specific subset of interest while significantly reducing processing time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial action by processing only the subset of coverage reports that are actually needed for the current determination task rather than processing all saved merged reports. This partial processing approach maintains sufficient accuracy for the specific coverage determination while reducing the overall processing time and computational burden.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9348733B1Method and system for coverage determination
Publication Date: 2016.05.24 CADENCE DESIGN SYST INC
  • US9348733B1 patent drawing
  • US9348733B1 patent drawing
  • US9348733B1 patent drawing

AI summary

A method, system and non-transitory computer readable storage medium for coverage determination of DUT tests. The method may include obtaining via an input device a selection of a subset of interest of coverage reports included in one or a plurality of saved merged coverage reports. The method may further include using a processing unit, finding a saved merged coverage report of said one or a plurality of saved merged coverage reports that has the smallest number of unwanted coverage reports. The method may also include using the found saved merged coverage report to obtain a merged coverage report that corresponds to the subset and merging the merged coverage report with the newly gathered coverage reports into a new merged coverage report.