Traffic-based mutation/coverage testing requirements

US11003572B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11003572-B2
Application numberUS-201916567093-A
CountryUS
Kind codeB2
Filing dateSep 11, 2019
Priority dateSep 11, 2019
Publication dateMay 11, 2021
Grant dateMay 11, 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.

An approach is provided in which the approach captures usage data corresponding to multiple users accessing a codebase that includes multiple code lines. The approach uses the captured usage data to compute a code line usage weighting for at least one of the code lines. The approach also computes a code line test coverage score for at least one code line based on at least one current software test program that tests the codebase. The approach compares the code line usage weighting against the code line test coverage score and flags the code line based on the comparison.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: capturing usage data corresponding to a plurality of users accessing a codebase comprising a plurality of code lines, wherein the capturing further comprises: duplicating the codebase; adding usage tracking logic to the duplicated codebase; routing a portion of the plurality of users to the duplicated codebase; and capturing, by the usage tracking logic, the usage data based on the portion of the plurality of users accessing the duplicated codebase; computing, based on the captured usage data, a code line usage weighting for at least one of the plurality of code lines; computing a code line test coverage score for the at least one code line based on at least one current software test program that tests the codebase; and flagging the at least one code line in response to comparing the code line usage weighting against the code line test coverage score. 2. The method of claim 1 wherein the codebase is a microservice and the duplicated codebase is a duplication of the microservice. 3. The method of claim 1 further comprising: classifying each of the plurality of users as one of a plurality of user types; assigning a user type weighting to each of the plurality of user types; and using the assigned user type weighting in the computing of the code line usage weighting. 4. The method of claim 3 further comprising: generating a heatmap of a set of routes through the codebase based on the usage data, wherein each of the set of routes identify one of the plurality of user types; and flagging a different one of the plurality of code lines based on the heatmap. 5. The method of claim 1 wherein the flagging indicates that the at least one code line is under tested in response to determining that the code line usage weighting of the at least one code line is greater than the code line test coverage score of the at least one code line. 6. The method of claim 1 wherein the flagging indicates that the at least one code line is over tested in response to determining that the code line usage weighting of the at least one code line is less than the code line test coverage score of the at least one code line. 7. An information handling system comprising: one or more processors; a memory coupled to at least one of the processors; a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of: capturing usage data corresponding to a plurality of users accessing a codebase comprising a plurality of code lines, wherein the capturing further comprises: duplicating the codebase; adding usage tracking logic to the duplicated codebase; routing a portion of the plurality of users to the duplicated codebase; and capturing, by the usage tracking logic, the usage data based on the portion of the plurality of users accessing the duplicated codebase; computing, based on the captured usage data, a code line usage weighting for at least one of the plurality of code lines; computing a code line test coverage score for the at least one code line based on at least one current software test program that tests the codebase; and flagging the at least one code line in response to comparing the code line usage weighting against the code line test coverage score. 8. The information handling system of claim 7 wherein the codebase is a microservice and the duplicated codebase is a duplication of the microservice. 9. The information handling system of claim 7 wherein the processors perform additional actions comprising: classifying each of the plurality of users as one of a plurality of user types; assigning a user type weighting to each of the plurality of user types; and using the assigned user type weighting in the computing of the code line usage weighting. 10. The information handling system of claim 9 wherein the processors perform additional actions comprising: generating a heatmap of a set of routes through the codebase based on the usage data, wherein each of the set of routes identify one of the plurality of user types; and flagging a different one of the plurality of code lines based on the heatmap. 11. The information handling system of claim 7 wherein the flagging indicates that the at least one code line is under tested in response to determining that the code line usage weighting of the at least one code line is greater than the code line test coverage score of the at least one code line. 12. The information handling system of claim 7 wherein the flagging indicates that the at least one code line is over tested in response to determining that the code line usage weighting of the at least one code line is less than the code line test coverage score of the at least one code line. 13. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising: capturing usage data corresponding to a plurality of users accessing a codebase comprising a plurality of code lines, wherein the capturing further comprises: duplicating the codebase; adding usage tracking logic to the duplicated codebase; routing a portion of the plurality of users to the duplicated codebase; and capturing, by the usage tracking logic, the usage data based on the portion of the plurality of users accessing the duplicated codebase; computing, based on the captured usage data, a code line usage weighting for at least one of the plurality of code lines; computing a code line test coverage score for the at least one code line based on at least one current software test program that tests the codebase; and flagging the at least one code line in response to comparing the code line usage weighting against the code line test coverage score. 14. The computer program product of claim 13 wherein the codebase is a microservice and the duplicated codebase is a duplication of the microservice. 15. The computer program product of claim 13 wherein the information handling system performs further actions comprising: classifying each of the plurality of users as one of a plurality of user types; assigning a user type weighting to each of the plurality of user types; and using the assigned user type weighting in the computing of the code line usage weighting. 16. The computer program product of claim 15 wherein the information handling system performs further actions comprising: generating a heatmap of a set of routes through the codebase based on the usage data, wherein each of the set of routes identify one of the plurality of user types; and flagging a different one of the plurality of code lines based on the heatmap. 17. The computer program product of claim 13 wherein the flagging indicates that the at least one code line is under tested in response to determining that the code line usage weighting of the at least one code line is greater than the code line test coverage score of the at least one code line.

Assignees

Inventors

Classifications

  • Environments for analysis, debugging or testing of software · CPC title

  • Monitoring arrangements specially adapted to the computing system or computing system component being monitored · CPC title

  • for test results analysis · CPC title

  • for test design, e.g. generating new test cases · CPC title

  • Software maintenance or management · 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 US11003572B2 cover?
An approach is provided in which the approach captures usage data corresponding to multiple users accessing a codebase that includes multiple code lines. The approach uses the captured usage data to compute a code line usage weighting for at least one of the code lines. The approach also computes a code line test coverage score for at least one code line based on at least one current software t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/302. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 11 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).