System, method, and computer program for determining incremental code coverage of a software project

US10949172B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10949172-B1
Application numberUS-201816163458-A
CountryUS
Kind codeB1
Filing dateOct 17, 2018
Priority dateNov 14, 2017
Publication dateMar 16, 2021
Grant dateMar 16, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system, method, and computer program product are provided for determining incremental code coverage of a software project. In operation, a system provides computation of project specific incremental (delta) code coverage in parallel in scenarios of multiple project teams working on different projects on a same module (or in the same repository). Further, an incremental code/mutation coverage analyzer engine associated with the system may be integrated with a project management tool and a version control software to obtain the changed code lines with respect to each project, using what it calculates as the incremental code and/or the mutation coverage.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: retrieving, by a system, a plurality of changelists associated with a plurality of software projects operating on a same source code of a program, wherein each changelist of the plurality of changelists indicates portions of the source code of the program that are changed by a corresponding software project of the plurality of software projects; identifying, by the system, one or more changed lines with respect to changed code within the program, utilizing the plurality of changelists, including for each changelist of each corresponding software project: determining, from the changelist, one or more files associated with the program that are changed by the software project, and comparing each file of the one or more files to an immediate previous version of the file to identify lines of code within the one or more files that are changed by the software project; obtaining, by the system, overall test coverage for the entire program in association with all of the plurality of software projects, by determining for each line of each file of each software project which instructions at the line are covered by unit tests for the software project; assessing, by the system, test coverage for the one or more changed lines in each software project of the plurality of software projects, from the overall test coverage obtained for the entire program; calculating, by the system independently for each software project of the plurality of software projects, incremental test coverage for the lines of code changed by the software project by: collating the overall test coverage obtained for the entire program by software project to compute a percentage of test coverage for each software project of the plurality of software projects; and reporting, by the system, the incremental test coverage calculated for each software project of the plurality of software projects. 2. The method of claim 1 , wherein the plurality of software projects are associated with a same module of the program but different software teams. 3. The method of claim 2 , wherein the incremental code coverage is calculated for each of the plurality of software projects such that the incremental code coverage is separately provided for each of the different software teams. 4. A non-transitory computer readable medium storing computer code executable by a processor to perform a method comprising: retrieving, by a system, a plurality of changelists associated with a plurality of software projects operating on a same source code of a program, wherein each changelist of the plurality of changelists indicates portions of the source code of the program that are changed by a corresponding software project of the plurality of software projects; identifying, by the system, one or more changed lines with respect to changed code within the program, utilizing the plurality of changelists, including for each changelist of each corresponding software project: determining, from the changelist, one or more files associated with the program that are changed by the software project, and comparing each file of the one or more files to an immediate previous version of the file to identify lines of code within the one or more files that are changed by the software project; obtaining, by the system, overall test coverage for the entire program in association with all of the plurality of software projects, by determining for each line of each file of each software project which instructions at the line are covered by unit tests for the software project; assessing, by the system, test coverage for the one or more changed lines in each software project of the plurality of software projects, from the overall test coverage obtained for the entire program; calculating, by the system independently for each software project of the plurality of software projects, incremental test coverage for the lines of code changed by the software project by: collating the overall test coverage obtained for the entire program by software project to compute a percentage of test coverage for each software project of the plurality of software projects; and reporting, by the system, the incremental test coverage calculated for each software project of the plurality of software projects. 5. The non-transitory computer readable medium of claim 4 , wherein the plurality of software projects are associated with a same module of the program but different software teams. 6. The non-transitory computer readable medium of claim 5 , wherein the incremental code coverage is calculated for each of the plurality of software projects such that the incremental code coverage is separately provided for each of the different software teams. 7. A system, comprising: a non-transitory memory storing instructions; and one or more processors in communication with the non-transitory memory that execute the instructions to perform a method comprising: retrieving a plurality of changelists associated with a plurality of software projects operating on a same source code of a program, wherein each changelist of the plurality of changelists indicates portions of the source code of the program that are changed by a corresponding software project of the plurality of software projects; identifying one or more changed lines with respect to changed code within the program, utilizing the plurality of changelists, including for each changelist of each corresponding software project: determining, from the changelist, one or more files associated with the program that are changed by the software project, and comparing each file of the one or more files to an immediate previous version of the file to identify lines of code within the one or more files that are changed by the software project; obtaining overall test coverage for the entire program in association with all of the plurality of software projects, by determining for each line of each file of each software project which instructions at the line are covered by unit tests for the software project; assessing test coverage for the one or more changed lines in each software project of the plurality of software projects, from the overall test coverage obtained for the entire program; calculating, independently for each software project of the plurality of software projects, incremental test coverage for the lines of code changed by the software project by: collating the overall test coverage obtained for the entire program by software project to compute a percentage of test coverage for each software project of the plurality of software projects; and reporting, by the system, the incremental test coverage calculated for each software project of the plurality of software projects.

Assignees

Inventors

Classifications

  • for coverage analysis · CPC title

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • G06F8/38Primary

    for implementing user interfaces · CPC title

  • Software design · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10949172B1 cover?
A system, method, and computer program product are provided for determining incremental code coverage of a software project. In operation, a system provides computation of project specific incremental (delta) code coverage in parallel in scenarios of multiple project teams working on different projects on a same module (or in the same repository). Further, an incremental code/mutation coverage …
Who is the assignee on this patent?
Amdocs Development Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 16 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).