Code Coverage Result Storage Deduplication for Large Projects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The storage requirements for code coverage results are excessive due to data duplication in frequent analyses of large and evolving software projects, consuming significant memory, network bandwidth, and processing time.

Innovation Solution

Implement a system that leverages version control systems to de-duplicate and efficiently store code coverage results by associating them with specific source code versions, using a lightweight format that reduces redundant data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code coverage analysis is performed frequently on large software projects, then code coverage results are obtained for quality assurance, but storage requirements increase significantly due to data duplication

Engineering Contradiction:
Improvequality assuranceVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent combines multiple code coverage result files into a single aggregated file, merging coverage data from numerous source code files into one consolidated output. This reduces the total number of files stored and eliminates redundant data structures that exist in each individual coverage file, thereby reducing overall storage requirements while maintaining complete coverage information.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal code coverage result file format that can represent coverage information from entire software projects in a single file, rather than requiring separate files for each source code file. This multi-functional format can encapsulate coverage data for multiple files, directories, and even entire projects, reducing storage needs while preserving all necessary quality assurance information.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If complete code coverage results are stored for review, then quality assurance is maintained, but memory usage and processing time increase

Engineering Contradiction:
Improvequality assuranceVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential coverage information from detailed code coverage data, removing redundant metadata and intermediate structures. By taking out only the critical coverage metrics needed for quality assurance while eliminating unnecessary data elements, the system reduces memory usage and processing requirements while maintaining the ability to perform complete quality assurance reviews.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If code coverage results from multiple analyses are stored, then coverage tracking is maintained, but network bandwidth and processing time are consumed

Engineering Contradiction:
Improvecoverage trackingVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple code coverage result files from different analysis runs into a single aggregated file, combining coverage data across multiple executions. This consolidation reduces the total volume of data that needs to be processed and transmitted over the network, thereby reducing network bandwidth consumption and processing time while maintaining complete coverage tracking capability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3547145B1Systems and methods for reducing storage required for code coverage results
Publication Date: 2025.08.27 ATLASSIAN PTY LTD
  • EP3547145B1 patent drawingFigure 1
  • EP3547145B1 patent drawingFigure 2
  • EP3547145B1 patent drawingFigure 3~4

AI summary

A computer implemented method comprises processing code coverage analysis data to generate a new storage version thereof. Processing comprises identifying each individual source code file in a code base and, for each individual source code file, generating a corresponding code coverage result file. The code coverage result file comprises coverage information in respect of the source code file to which the code coverage result file corresponds, the coverage information identifying which parts of the corresponding source code file were covered by the test suite, the code coverage result file being associated with its corresponding source code file. The new storage version of the code coverage analysis data is published back to the code coverage result repository as a new version and associated with the particular version of the particular source code base that was originally analyzed.