# US 11,030,083 B2 · Systems and methods for reducing storage required for code coverage results

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,083 B2
- Document ID: US11030083B2
- Status: Granted
- Kind: B2
- Application number: 16/521,438
- Filed: 2019-07-24
- Published: 2019-11-14
- Granted: 2021-06-08
- Earliest claimed: 2018-03-30
- Assignees: Atlassian Pty Ltd.
- Applicants: Atlassian Pty Ltd
- Inventors: Daniel Kjellin; Kristy Louise Hughes; Bryan Paul Turner
- Web page: https://patentgrep.com/patent/US11030083B2

## CPC

- G06F 11/3676: {for coverage analysis}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method comprises receiving code coverage analysis data in respect of a code coverage analysis performed in respect of a particular version of a particular source code base and a test suite, wherein the particular source code base is maintained in a source code repository of a version control system; identifying a code coverage result repository of the version control system, wherein the code coverage result repository is associated with the particular version of the particular source code base; generating a new storage version based on the code coverage analysis data; obtaining a delta between the new storage version and a previous storage version of the code coverage analysis data; and committing the delta to the code coverage result repository of the version control system as a new version to de-duplicate code coverage analysis data.

## Claims

### Claim 1

A computer implemented method performed at a computer system comprising a processor executing instructions, the method comprising:
receiving new code coverage analysis data for a new code coverage analysis performed on an updated version of a particular source code base and a test suite,
wherein the particular source code base is maintained in a source code repository of a version control system;
parsing, using the processor, a previous code coverage commit stored at a code coverage result repository of the version control system to identify a first code coverage file that includes code coverage data for a first source code file, and
a second code coverage file that includes code coverage data for a second source code file, wherein the first and second source code files are associated with a previous version of the particular source code base;
comparing the new code coverage analysis data to the previous code coverage commit to determine that the first code coverage file is unmodified and that the second code coverage file has changed; and
generating a new code coverage commit for the updated version of the particular source code base, comprising:
a link to the first code coverage file stored in the previous code coverage commit; and
a modified version of the second code coverage file comprising changes to the second code coverage file that resulted from changes made to the updated version of the particular source code base.

### Claim 2 (depends on 1)

The method of claim 1, further comprising committing the new code coverage commit the code coverage result repository of the version control system.

### Claim 3 (depends on 2)

The method of claim 2, wherein the new code coverage commit is associated with the test suite.

### Claim 4 (depends on 1)

The method of claim 1, wherein the new code coverage commit comprises coverage information identifying which parts of which source code files from the particular source code base were covered by the test suite.

### Claim 5 (depends on 1)

The method of claim 1, wherein the particular source code base comprises one or more source code files and each source code file comprises one or more parts.

### Claim 6 (depends on 5)

The method of claim 5, wherein the one or more parts of each source code file are line numbers.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the new code coverage commit comprises:
identifying, from the new code coverage analysis data, each individual source code file in the particular source code base that was covered by the test suite; and,
for each individual source code file, generating a corresponding code coverage result file, the code coverage result file comprising 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.

### Claim 8 (depends on 7)

The method of claim 7, wherein the code coverage result file is associated with its corresponding source code file using a name of the code coverage result file.

### Claim 9 (depends on 1)

The method of claim 1, wherein the new code coverage commit comprises partial coverage information identifying which parts of which source code files from the particular source code base were partially covered by the test suite.

### Claim 10 (depends on 1)

The method of claim 1, further comprising cloning the previous code coverage commit from the code coverage result repository.

### Claim 11

A system comprising:
one or more processors;
one or more non-transitory computer-readable storage media storing sequences of instructions which, when executed by the one or more processors, cause the one or more processors to:
receive new code coverage analysis data for a new code coverage analysis performed on an updated version of a particular source code base and a test suite, wherein the particular source code base is maintained in a source code repository of a version control system;
parsing a previous code coverage commit stored at a code coverage result repository of the version control system to identify a first code coverage file that includes code coverage data for a first source code file, and a second code coverage file that includes code coverage data for a second source code file, wherein the first and second source code files are associated with a previous version of the particular source code base;
comparing the new code coverage analysis data to the previous code coverage commit to determine that the first code coverage file is unmodified and that the second code coverage file has changed; and
generating a new code coverage commit for the updated version of the particular source code base, comprising:
a link to the first code coverage file stored in the previous code coverage commit; and
a modified version of the second code coverage file comprising changes to the second code coverage file that resulted from changes made to the updated version of the particular source code base.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more non-transitory computer-readable storage media storing sequences of instructions which, when executed by the one or more processors, further cause the one or more processors to commit the new code coverage commit to the code coverage result repository of the version control system.

### Claim 13 (depends on 12)

The system of claim 12, wherein the new code coverage commit is associated with the test suite.

### Claim 14 (depends on 11)

The system of claim 11, wherein the new code coverage commit comprises coverage information identifying which parts of which source code files from the particular source code base were covered by the test suite.

### Claim 15 (depends on 11)

The system of claim 11, wherein the particular source code base comprises one or more source code files and each source code file comprises one or more parts.

### Claim 16 (depends on 15)

The system of claim 15, wherein the one or more parts of each source code file are line numbers.

### Claim 17 (depends on 11)

The system of claim 11, wherein the new code coverage commit is generated based on the new code coverage analysis data by:
identifying, from the new code coverage analysis data, each individual source code file in the particular source code base that was covered by the test suite; and,
for each individual source code file, generating a corresponding code coverage result file, the code coverage result file comprising 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.

### Claim 18 (depends on 17)

The system of claim 17, wherein the code coverage result file is associated with its corresponding source code file using a name of the code coverage result file.

### Claim 19 (depends on 11)

The system of claim 11, wherein the new code coverage commit comprises partial coverage information identifying which parts of which source code files from the particular source code base were partially covered by the test suite.

### Claim 20 (depends on 11)

The system of claim 11, wherein the one or more non-transitory computer-readable storage media storing sequences of instructions which, when executed by the one or more processors, further cause the one or more processors to clone the previous code coverage commit from the code coverage result repository.
