IP Library › Granted Patent US 12,657,114
Granted Patent B2
US 12,657,114 · App. 17/955,650 · Granted Jun 16, 2026

Ascertaining application test coverage

Inventors: Ishay Zekri (Kfar Yona, IL); Lev Faiman (Netanya, IL); Amit Ramraz (Hod Hasharon, IL)
Assignee: Dell Products L.P.
G06F11/3676G06F11/3684
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,657,114
App. No.
17/955,650
Granted
Jun 16, 2026
Kind
B2
Abstract

A technique is directed to ascertaining application test coverage. The technique involves receiving a command to test an application having a set of unmarked sections and a set of marked sections. The command includes a selection parameter that requests at least one of unmarked section coverage results and marked section coverage results. The technique further involves running a test procedure that operates the application to generate section coverage data. The technique further involves, after running the test procedure, generating application coverage results from the section coverage data. The application coverage results describes test procedure coverage of at least one of the set of unmarked sections of the application and the set of marked sections of the application based on the selection parameter of the command.

Claims (65)

1 . A method of ascertaining application test coverage, comprising:

building an application having a set of unmarked sections and a set of marked sections from application code having a set of unmarked code portions that build into the set of unmarked sections and a set of marked code portions that build into the set of marked sections, the set of marked sections comprising code for a new feature that is disabled and the set of unmarked sections comprising regular code, wherein building the application includes identifying the set of unmarked code portions and the set of marked code portions within the application code based on a set of text-based markers, and wherein the set of text-based markers comprise exclusion markers that reside after comment symbols and begin and end each one of the marked code portions, thereby distinguishing the code for the new feature that is disabled from the regular code;

receiving a command to test the application, the command including a selection parameter that requests at least one of unmarked section coverage results and marked section coverage results, and wherein the command further includes a first parameter requesting the unmarked section coverage results;

running a test procedure that operates the application to generate section coverage data;

after running the test procedure, generating application coverage results from the section coverage data, the application coverage results describing test procedure coverage of at least one of the set of unmarked sections and the set of marked sections based on the selection parameter of the command; and

after running the test procedure and without rebuilding the application:

receiving another command to test the application, the another command including a second parameter requesting the marked section coverage results,

re-running the test procedure that operates the application to generate marked section coverage data, and

after re-running the test procedure, generating second application coverage results from the marked section coverage data.

2 . The method of claim 1 wherein identifying the set of unmarked code portions and the set of marked code portions within the application code includes:

detecting a first pair of markers that delineate a first marked code portion within the application code, and

detecting a second pair of markers that delineate a second marked code portion within the application code.

3 . The method of claim 2 wherein each unmarked code portion of the set of unmarked code portions is a code portion without a pair of markers.

4 . The method of claim 2 wherein the first marked code portion and the second marked code portion are non-overlapping.

5 . The method of claim 4 wherein the first marked code portion includes a first starting marker of the first pair of markers, first code for a first application operation, and a first ending marker of the first pair of markers;

wherein the second marked code portion includes a second starting marker of the second pair of markers, second code for a second application operation that is different from the first application operation, and a second ending marker of the second pair of markers;

wherein the first starting marker and the second starting marker include a same starting marker keyword to indicate that the first starting marker and the second starting marker are starting markers; and

wherein the first ending marker and the second ending marker include a same ending marker keyword to indicate that the first ending marker and the second ending marker are ending markers.

6 . The method of claim 2 wherein the first pair of markers are different from the second pair of markers.

7 . The method of claim 6 wherein the first marked code portion includes a first starting marker of the first pair of markers, first code for a first application operation, and a first ending marker of the first pair of markers;

wherein the second marked code portion includes a second starting marker of the second pair of markers, second code for a second application operation that is different from the first application operation, and a second ending marker of the second pair of markers;

wherein the first starting marker and the first ending marker include a first unique keyword to uniquely identify the first marked code portion; and

wherein the second starting marker and the second ending marker include a second unique keyword to uniquely identify the second marked code portion.

8 . The method of claim 1 wherein receiving the command includes:

receiving, as the selection parameter, an indicator that selectively has exactly one of:

a first value indicating a request for only coverage results corresponding to the set of unmarked code portions,

a second value indicating a request for only coverage results corresponding to the set of marked code portions, and

a third value indicating a request for coverage results corresponding to both the set of unmarked code portions and the set of marked code portions; and

wherein the first value, the second value, and the third value are different from each other.

9 . The method of claim 8 wherein running the test procedure includes:

launching the application on a test platform to run the application, and

while the application is running on the test platform, inputting a set of test inputs to the application to exercise at least one unmarked section of the set of unmarked sections and at least one marked section of the set of marked sections to generate at least some of the section coverage data.

10 . The method of claim 9 wherein generating the application coverage results from the section coverage data includes:

providing a first report that identifies a first coverage measurement indicating an amount of the set of unmarked sections that were tested when the indicator has the first value,

providing a second report that identifies a second coverage measurement indicating an amount of the set of marked sections that were tested when the indicator has the second value, and

providing a third report that identifies a third coverage measurement indicating an amount of the set of unmarked sections and the set of marked sections that were tested when the indicator has the third value.

11 . The method of claim 1

wherein the application coverage results describe test procedure coverage of the set of unmarked sections, and the second application coverage results describe test procedure coverage of the marked sections.

12 . The method of claim 1 wherein the command to test the application includes a first parameter requesting one of the unmarked section coverage results and the marked section coverage results; and

wherein the method further comprises, after running the test procedure and without rebuilding the application:

receiving another command to test the application, the another command including a second parameter requesting both the unmarked section coverage results and the marked section coverage results;

re-running the test procedure that operates the application to generate other section coverage data; and

after re-running the test procedure, generating other application coverage results from the other section coverage data.

13 . Electronic equipment, comprising:

memory; and

control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to perform a method of:

building an application having a set of unmarked sections and a set of marked sections from application code having a set of unmarked code portions that build into the set of unmarked sections and a set of marked code portions that build into the set of marked sections, the set of marked sections comprising code for a new feature that is disabled and the set of unmarked sections comprising regular code, wherein building the application includes identifying the set of unmarked code portions and the set of marked code portions within the application code based on a set of text-based markers, and wherein the set of text-based markers comprise exclusion markers that reside after comment symbols and begin and end each one of the marked code portions, thereby distinguishing the code for the new feature that is disabled from the regular code;

receiving a command to test the application, the command including a selection parameter that requests at least one of unmarked section coverage results and marked section coverage results, and wherein the command further includes a first parameter requesting the unmarked section coverage results;

running a test procedure that operates the application to generate section coverage data;

after running the test procedure, generating application coverage results from the section coverage data, the application coverage results describing test procedure coverage of at least one of the set of unmarked sections and the set of marked sections based on the selection parameter of the command; and

after running the test procedure and without rebuilding the application:

receiving another command to test the application, the another command including a second parameter requesting the marked section coverage results,

re-running the test procedure that operates the application to generate marked section coverage data, and

after re-running the test procedure, generating second application coverage results from the marked section coverage data.

14 . Electronic equipment as in claim 13 wherein running the test procedure includes:

generating the section coverage data while the control circuitry performs data storage operations to respond to host input/output (I/O) requests from a set of host computers.

15 . A computer program product having a non-transitory computer readable medium which stores a set of instructions to process an application, the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

building an application having a set of unmarked sections and a set of marked sections from application code having a set of unmarked code portions that build into the set of unmarked sections and a set of marked code portions that build into the set of marked sections, the set of marked sections comprising code for a new feature that is disabled and the set of unmarked sections comprising regular code, wherein building the application includes identifying the set of unmarked code portions and the set of marked code portions within the application code based on a set of text-based markers, and wherein the set of text-based markers comprise exclusion markers that reside after comment symbols and begin and end each one of the marked code portions, thereby distinguishing the code for the new feature that is disabled from the regular code;

receiving a command to test the application, the command including a selection parameter that requests at least one of unmarked section coverage results and marked section coverage results, and wherein the command further includes a first parameter requesting the unmarked section coverage results;

running a test procedure that operates the application to generate section coverage data;

after running the test procedure, generating application coverage results from the section coverage data, the application coverage results describing test procedure coverage of at least one of the set of unmarked sections and the set of marked sections based on the selection parameter of the command; and

after running the test procedure and without rebuilding the application:

receiving another command to test the application, the another command including a second parameter requesting the marked section coverage results,

re-running the test procedure that operates the application to generate marked section coverage data, and

after re-running the test procedure, generating second application coverage results from the marked section coverage data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: ZEKRI, ISHAY; FAIMAN, LEV; RAMRAZ, AMIT
To: DELL PRODUCTS L.P.
Reel/Frame 061495/0299 →
Continuity (1)
Related Publication 20240111662A1 · Apr 4, 2024
References Cited (25)
US 5522079A · Acker et al. · 1996 [cited by applicant]
US 6502102B1 · Haswell · 2002 [cited by examiner]
US 6536036B1 · Pavela · 2003 [cited by examiner]
US 7143394B1 · Shadmon · 2006 [cited by examiner]
US 7197748B2 · Chaiken et al. · 2007 [cited by applicant]
US 7565645B2 · Barrs · 2009 [cited by examiner]
US 8321689B2 · Smeets et al. · 2012 [cited by applicant]
US 10261889B2 · Asthana et al. · 2019 [cited by applicant]
US 10509715B2 · White, Jr. · 2019 [cited by examiner]
US 11003575B1 · Knajtner · 2021 [cited by examiner]
US 11188313B1 · Huffman · 2021 [cited by examiner]
US 20070168998A1 · Mehta · 2007 [cited by examiner]
US 20090287729A1 · Chen · 2009 [cited by examiner]
US 20100131930A1 · Ben-Chaim · 2010 [cited by examiner]
US 20110047532A1 · Wang · 2011 [cited by examiner]
US 20130298110A1 · Boden · 2013 [cited by examiner]
US 20170083430A1 · Meerovich · 2017 [cited by examiner]
US 20190102282A1 · DeMarco · 2019 [cited by examiner]
US 20190370156A1 · Kuner · 2019 [cited by examiner]
US 20230350788A1 · Jain · 2023 [cited by examiner]
CN 109857637A · 2019 [cited by examiner]
Andre Hora, “What Code Is Deliberately Excluded from Test Coverage and Why?”, Jun. 28, 2021 [retrieved Dec. 13, 2025], 18th International Conference on Mining Software Repositories, pp. 392-402, downloaded from <url>:ht… [cited by examiner]
Hadi Hemmati, “How Effective Are Code Coverage Criteria?”, Sep. 25, 2015 [retrieved Dec. 13, 2025], IEEE International Conference on Software Quality, Reliability and Security, pp. 151-156, downloaded from <url>:https:/… [cited by examiner]
Mustafa Tikir et al., “Efficient instrumentation for code coverage testing”, 2002 [retrieved Mar. 3, 2026], ACM SIGSOFT Software Engineering Notes, vol. 27, Issue 4, pp. 86-96, downloaded from <url>:https://dl.acm.org/d… [cited by examiner]
Marko Ivankovic et al., “Code Coverage at Google”, 2019 [retrieved Mar. 3, 2026], ESEC/FSE 2019, pp. 955-963, downloaded from <url>: https://dl.acm.org/doi/abs/10.1145/3338906.3340459. (Year: 2019). [cited by examiner]