Code Coverage Tool Identifying Root-Level Uncovered Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code coverage tools cannot reliably detect the structure of uncovered code and provide full information on the extent of code guarded by any particular function, limiting their ability to guide effective test data development for increasing coverage.

Innovation Solution

A code analysis tool examines structural and coverage information to identify root-level uncovered code units, computes potential coverage values for these units, and orders them by potential impact, enabling efficient targeting for coverage analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional code coverage tools are used to measure code coverage, then coverage percentage can be reported, but the tools cannot reliably detect the structure of uncovered code or provide full information on the extent of code guarded by any particular function

Engineering Contradiction:
Improvecoverage measurement accuracyVSAvoidstructural information of uncovered code
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent combines structural analysis capabilities with coverage measurement functionality into a unified code analysis system. The coverage tool integrates with the compiler to simultaneously track both the structural relationships between code units and the coverage status, merging previously separate functions into a cohesive system that provides complete information about uncovered code structures and their relationships to guarded code regions

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent adds a structural dimension to coverage analysis by introducing hierarchical relationships between code units (functions, procedures, basic blocks). Instead of only measuring flat coverage percentages, the system organizes coverage data in multiple dimensions showing which uncovered code units are guarded by which covered functions, providing a layered view of code coverage that reveals structural relationships

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If manual examination is performed to identify uncovered code units and their potential coverage impact, then detailed uncoverage information can be obtained, but the process becomes inefficient and onerous

Engineering Contradiction:
Improveuncoverage information completenessVSAvoidanalysis efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements automated computation of potential coverage values that performs the analytical work previously requiring manual examination. The system self-calculates, for each uncovered code unit, the total amount of code that would be covered if that unit were executed, by automatically traversing the hierarchical code structure and summing guarded code regions. This self-service capability eliminates the need for manual code analysis while providing comprehensive uncoverage information

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent provides automated feedback to developers by computing and presenting potential coverage values for each uncovered code unit. The system analyzes the code structure, determines which covered functions guard which uncovered units, and feeds back this information in a prioritized format showing the impact of covering each uncovered unit. This automated feedback loop replaces manual examination with systematic computational analysis that guides test development efforts

Inventive Principle:
Principle #23Feedback

3Loss of information

If all uncovered code units are analyzed without prioritization, then complete coverage information is provided, but the analysis becomes unwieldy and difficult to target effectively

Engineering Contradiction:
Improvecoverage information completenessVSAvoidanalysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies local quality by computing potential coverage values specifically for uncovered code units that are directly guarded by covered functions. Rather than treating all code uniformly, the system identifies and analyzes only the relevant uncovered units—those that have a direct relationship to already-covered code. This localized analysis approach focuses computational resources on the most impactful areas while maintaining completeness of information for prioritization

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9021446B2Uncoverage tool
Publication Date: 2015.04.28 SUN MICROSYSTEMS INC
  • US9021446B2 patent drawing
  • US9021446B2 patent drawing
  • US9021446B2 patent drawing

AI summary

Indication of uncoverage information allows tests to be tailored to target those uncovered code units with the most potential to increase coverage of a program. A tool examines coverage information of a program to identify code units of the program that were not covered by test data used to exercise the program. The tool also examines structural information (e.g., control flow) for the program to identify those of the uncovered code units that have direct control flow from a corresponding covered code unit (“root level uncovered code units”). The coverage tool then measures potential impact on coverage for each of the root level uncovered code units.