Code coverage thresholds for code segments based on usage frequency and change frequency

US10761973B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10761973-B2
Application numberUS-201616086474-A
CountryUS
Kind codeB2
Filing dateMar 28, 2016
Priority dateMar 28, 2016
Publication dateSep 1, 2020
Grant dateSep 1, 2020

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.

In some examples, a system includes a segment identification engine and a coverage determination engine. The segment identification engine may a code segment in application code for updating a code coverage threshold applicable to the code segment. The coverage determination engine may update the code coverage threshold for the code segment based on a usage frequency of the code segment and a change frequency of the code segment.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system comprising: a segment identification engine to: identify a first subset of a plurality of code segments in application code, wherein each code segment in the first subset has a usage frequency that satisfies a usage frequency criterion; identify a second subset of the plurality of code segments, wherein each code segment in the second subset has a change frequency that satisfies a change frequency criterion, wherein the change frequency specifies a number of commit actions applied to the code segment over a predetermined period of time; and identify a joined subset comprising each code segment that is included in both the first and second subsets; and a coverage determination engine to, for each code segment included in the joined subset, update a code coverage threshold for the code segment based on the usage frequency of the code segment and the change frequency of the code segment. 2. The system of claim 1 , wherein the coverage determination engine is to, for each code segment included in the joined subset, update the code coverage threshold further based on a previous code coverage level of the code segment. 3. The system of claim 2 , wherein the coverage determination engine is to, for each code segment included in the joined subset, update the code coverage threshold by selecting between the previous code coverage level and a weighted sum of the usage frequency and the change frequency. 4. The system of claim 1 , wherein the usage frequency of each code segment specifies a number of other code segments in the application code that use the code segment. 5. The system of claim 1 , wherein the usage frequency of each code segment specifies a ratio of a number of other code segments in the application code that use the code segment to a total number of code segments in the application code. 6. The system of claim 1 , wherein the coverage determination engine is to, for each code segment included in the joined subset, normalize the usage frequency of the code segment based on a scale associated with a previous code coverage level of the code segment. 7. The system of claim 6 , wherein the coverage determination engine is to, for each code segment included in the joined subset, normalize the change frequency of the code segment based on the scale associated with the previous code coverage level of the code segment. 8. A method comprising: identifying, by a segment identification engine, a first subset of a plurality of code segments in application code, wherein each code segment in the first subset has a usage frequency that satisfies a usage frequency criterion; identifying, by the segment identification engine, a second subset of the plurality of code segments, wherein each code segment in the second subset has a change frequency that satisfies a change frequency criterion, wherein the change frequency specifies a number of commit actions applied to the code segment over a predetermined period of time; identifying, by the segment identification engine, a joined subset comprising each code segment that is included in both the first and second subsets; and updating, for each code segment included in the joined subset, a code coverage threshold of the code segment based on a previous code coverage level of the code segment, the usage frequency of the code segment, and the change frequency of the code segment. 9. The method of claim 8 , wherein updating the code coverage threshold for each code segment included in the joined subset comprises determining to keep the code coverage threshold of the code segment at the previous code coverage level. 10. The method of claim 8 , wherein updating the code coverage threshold for each code segment included in the joined subset comprises adjusting the code coverage threshold to a weighted sum of the change frequency and the usage frequency. 11. The method of claim 10 , wherein the usage frequency of each code segment included in the joined subset specifies a ratio of a number of other code segments in the application code that use the code segment to a total number of code segments in the application code. 12. The method of claim 8 , wherein updating the code coverage threshold for each code segment included in the joined subset comprises determining the code coverage threshold for each code segment as a greater value between the previous code coverage level and a weighted sum of the usage frequency and the change frequency of the code segment. 13. The method of claim 8 , comprising, for each code segment included in the joined subset, normalizing the usage frequency of the code segment based on a scale associated with the previous code coverage level of the code segment. 14. The method of claim 8 , comprising, for each code segment included in the joined subset, normalizing the change frequency based on a scale associated with the previous code coverage level of the code segment. 15. A non-transitory machine-readable medium comprising instructions executable by a processing resource to: identify a first subset of a plurality of code segments of application code, wherein each code segment within the first subset has a usage frequency that satisfies a usage frequency criterion and wherein, for each code segment in the first subset, the usage frequency of the code segment specifies a number of other code segments in the application code that use the code segment; identify a second subset of the plurality of code segments of the application code, wherein each code segment within the second subset has a change frequency that satisfies a change frequency criterion and wherein, for each code segment in the second subset, the change frequency of the code segment specifies a number of commit actions applied to the code segment through a source control program over a predetermined time period; identify a joined subset comprising each code segment that is included in both the first and second subsets; and for each code segment in the joined subset, apply a code coverage adjustment function to the code segment to determine a code coverage threshold for the code segment based on a previous code coverage level of the code segment, the usage frequency of the code segment, and the change frequency of the code segment. 16. The non-transitory machine-readable medium of claim 15 , wherein the instructions are further executable by the processing resource to: not to apply the code coverage adjustment function for other code segments of the application code not in the first subset and not in the second subset of the plurality of code segments. 17. The non-transitory machine-readable medium of claim 15 , wherein the instructions are further executable by the processing resource to: for each code segment included in the joined subset, determine a weighted sum of the usage frequency of the code segment and the change frequency of the code segment. 18. The non-transitory machine-readable medium of claim 17 , wherein the instructions are further executable by the processing resource to: for each code segment included in the joined subset, determine the code coverage threshold as a greater value between the previous code coverage level and the weighted sum of the usage frequency and the change frequency. 19. The non-transitory machine-readable medium of claim 17 , wherein the instructions are further executable by the processing resource to: for each code segment included in the joined subset, determine the weighted sum based on a first weight value associated with the usage f

Assignees

Inventors

Classifications

  • for coverage analysis · CPC title

  • Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

  • Prevention of errors by analysis, debugging or testing of software · CPC title

  • of optimised code (optimisation G06F8/443) · CPC title

  • Identification (G06F11/2289 takes precedence) · 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 US10761973B2 cover?
In some examples, a system includes a segment identification engine and a coverage determination engine. The segment identification engine may a code segment in application code for updating a code coverage threshold applicable to the code segment. The coverage determination engine may update the code coverage threshold for the code segment based on a usage frequency of the code segment and a c…
Who is the assignee on this patent?
Entit Software Llc, Micro Focus Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3676. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 01 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).