IP Library › Granted Patent US 10,248,548
Granted Patent B2
US 10,248,548 · App. 15/560,571 · Granted Apr 2, 2019

Code coverage information

Inventors: Liron Tzabari (Yehud, IL); Elad Benedict (Yehud, IL); Nathan Grunzweig (Yehud, IL)
Assignee: ENTIT SOFTWARE LLC
G06F11/3676G06F8/33G06F8/75G06F11/3664G06F11/3688G06F11/3692G06F8/71
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 10,248,548
App. No.
15/560,571
Filed
Sep 22, 2017
Granted
Apr 2, 2019
Kind
B2
Art Unit
2192
USPC
717/125
Abstract

A technique includes obtaining code coverage information related to lines of code. The code coverage information indicates how the lines of code are covered by a plurality of tests. The technique includes generating a two-way mapping based on the code coverage information. The two-way mapping includes a first mapping that maps a particular test in the plurality of tests to at least one line in the lines of code, which is covered by the particular test; and a second mapping that maps a particular line of code in the lines of code to at least one test in the plurality of tests, which covers the particular line of code.

Claims (37)

1. A method comprising:

obtaining code coverage information related to lines of code;

generating a two-way mapping based on the code coverage information, the two-way mapping comprising a first mapping that maps a particular test in the plurality of tests to at least one line in the lines of code that is covered by the particular test and a second mapping that maps a particular line of code in the lines of code to at least one test in the plurality of tests that covers the particular line of code;

receiving, from a client computing device, an indication that a new line has been added to the lines of code in an integrated development environment (IDE) running on the client computing device;

causing the plurality of tests to be executed; and

obtaining the code coverage information related to the new line, wherein the code coverage information related to the new line comprises at least one of: a first indication that the new line passed all of the tests covering the new line, a second indication that the new line failed at least one test covering the new line, or a third indication that the new line is not covered by any of the plurality of tests.

2. The method of claim 1 , further comprising:

receiving, from a client computing device, an indication that a line in the lines of code has been modified in an integrated development environment (IDE) running on the client computing device;

identifying, based on the two-way mapping, a test in the plurality of tests that is mapped to the modified line; and

causing the identified test to be executed.

3. The method of claim 1 , further comprising:

providing at least a portion of the code coverage information to a client computing device comprising an integrated development environment (IDE) in which the code coverage information is visualized.

4. The method of claim 3 , wherein a first line in the lines of code is shown visually different from a second line in the lines of code based on the code coverage information.

5. A non-transitory machine-readable storage medium comprising instructions executable by a processor of a client computing device for providing code coverage information, the machine-readable storage medium comprising:

instructions to identify a first set of changed lines of code that represents changes made to lines of code using an integrated development environment (IDE) running on the client computing device;

instructions to transmit the first set of changed lines of code to a server computing device;

instructions to receive, from the server computing device, code coverage information associated with the first set of changed lines of code, wherein the code coverage information is associated with the first set of changed lines of code indicating how the first set of changed lines of code is covered by a plurality of tests, and the first set of changed lines of code represents the changes made during a first time period between a first timestamp and a second timestamp;

instructions to determine a visual indicator that corresponds to the code coverage information associated with individual lines in the first set of changed lines of code; and

instructions to cause a display of the first set of changed lines of code with corresponding visual indicators via the IDE;

instructions to identify a second set of changed lines of code that represents the changes made to the lines of code using the IDE during a second time period between the second timestamp and a third timestamp;

instructions to transmit the second set of changed lines of code to the server computing device;

instructions to receive, from the server computing device, the code coverage information associated with the second set of changed lines of code, the code coverage information associated with the second set of changed lines of code indicating how the second set of changed lines of code is covered by a plurality of tests;

instructions to determine a visual indicator that corresponds to the code coverage information associated with individual lines in the second set of changed lines of code; and

instructions to cause a display of the second set of changed lines of code with corresponding visual indicators via the IDE.

6. The non-transitory machine-readable storage medium of claim 5 , wherein the individual lines in the first set of changed lines of code are color-coded according to the corresponding visual indicators.

7. The non-transitory machine-readable storage medium of claim 5 , wherein the changes are made to the lines of code when at least one line is newly added to the lines of code or when at least one line in the lines of code is modified.

8. The non-transitory machine-readable storage medium of claim 5 , wherein the changes made to the lines of code are tracked via a version-control system.

9. A system comprising:

a hardware processor that:

generates code coverage information related to lines of code, the code coverage information indicating how the lines of code are covered by a plurality of tests; and

stores, in a data storage, a two-way mapping based on the code coverage information, the two-way mapping comprising a first mapping that maps a particular test in the plurality of tests to at least one line in the lines of code that is covered by the particular test and a second mapping that maps a particular line of code in the lines of code to at least one test in the plurality of tests that covers the particular line of code;

obtains, from a client computing device, a line in the lines of code that has been modified using an integrated development environment (IDE) running on the client computing device, wherein the code coverage information related to the modified line comprises at least one of: a first indication that the modified line passed the identified test, a second indication that the modified line failed the identified test, or a third indication that the modified line is not covered by the identified test;

identifies, based on the two-way mapping, a test in the plurality of tests that is mapped to the modified line;

execute a testing script corresponding to the identified test; and

sends the code coverage information related to the modified line to the client computing device comprising the IDE in which the code coverage information is visualized.

10. The system of claim 9 , the processor that:

generates the code coverage information related to the modified line based on the execution of the testing script corresponding to the identified test.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 043958/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 043952/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: TZABARI, LIRON; BENEDICT, ELAD; GRUNZWEIG, NATHAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 043661/0686 →
Continuity (1)
Related Publication 20180101468A1 · Apr 12, 2018