IP Library Granted Patent US 11,210,083
Granted Patent B1
US 11,210,083 · App. 17/071,663 · Granted Dec 28, 2021

System and method for safe updating of open source libraries

Inventors: Aharon Abadi (Givatayim, IL); Doron Cohen (Givatayim, IL); Ram Elron (Givatayim, IL); Anna Rozin Lellouche (Givatayim, IL); Rami Sass (Givatayim, IL); Asaf Savich (Givatayim, IL)
Assignee: WHITESOURCE LTD.
G06F8/65G06F8/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 11,210,083
App. No.
17/071,663
Granted
Dec 28, 2021
Kind
B1
Abstract

A method, computerized apparatus and computer program product, the method comprising: obtaining code; determining a collection of open source libraries used by the code; for each open source library: determining whether an updated version comprising an update area exists for the library; and subject to the existence of an updated version: subject to the updated area not being reachable from the user code, updating the open source library to the updated version; subject to the updated area being reachable only from a non-updated area of the updated version wherein the non-updated area is reachable from the user code, updating the open source library to the updated version; and subject to the updated area being reachable directly from a part of the user code, notifying a user about the updated version of the open source library and the part of the computer code.

Claims (37)

1. A computer-implemented method comprising:

obtaining user code;

determining a collection of open source libraries used by the user code;

for at least one open source library from the open source libraries:

determining whether an updated version comprising an update area exists for the open source library, wherein the updated version is other than a version referenced by the user code; and

in response to the existence of an updated version:

in response to the updated area not being reachable from the user code, updating the open source library to the updated version;

in response to the updated area being reachable only from a non-updated area of the updated version wherein the non-updated area is reachable from the user code, updating the open source library to the updated version; and

in response to the updated area being reachable directly from a part of the user code, notifying a user about the updated version of the open source library and the part of the computer code.

2. The method of claim 1 , further comprising updating the open source library to the updated version, in response to the updated area being reachable from the part of the user code.

3. The method of claim 2 , wherein updating the open source library to the updated version is in response to user confirmation.

4. The method of claim 2 , wherein updating the open source library to the updated version is in response to the area being reachable directly.

5. The method of claim 2 , wherein updating the open source library to the updated version is in response to the area being reachable indirectly.

6. The method of claim 1 , wherein the updated area is a class, a function, a method a procedure, or a version control system.

7. The method of claim 1 , wherein the open source library is updated in response to: each updated area of the open source library being: unreachable from the user code, reachable only from a non-updated area of the updated version wherein the non-updated area is reachable from the user code, or reachable directly from a part of the user code and a user has approved the update.

8. A computerized apparatus having a processor, the processor being configured to perform the steps of:

obtaining user code;

determining a collection of open source libraries used by the user code;

for at least one open source library from the open source libraries:

determining whether an updated version comprising an update area exists for the open source library, wherein the updated version is other than a version referenced by the user code; and

in response to the existence of an updated version:

in response to the updated area not being reachable from the user code, updating the open source library to the updated version;

in response to the updated area being reachable only from a non-updated area of the updated version wherein the non-updated area is reachable from the user code, updating the open source library to the updated version; and

in response to the updated area being reachable directly from a part of the user code, notifying a user about the updated version of the open source library and the part of the computer code.

9. The apparatus of claim 8 , wherein the processor is further configured to update the open source library to the updated version, in response to the updated area being reachable from the part of the user code.

10. The apparatus of claim 9 , wherein updating the open source library to the updated version is in response to user confirmation.

11. The apparatus of claim 9 , wherein updating the open source library to the updated version is in response to the area being reachable directly.

12. The apparatus of claim 9 , wherein updating the open source library to the updated version is in response to the area being reachable indirectly.

13. A computer program product comprising a computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising:

obtaining user code;

determining a collection of open source libraries used by the user code;

for at least one open source library from the open source libraries:

determining whether an updated version comprising an update area exists for the open source library, wherein the updated version is other than a version referenced by the user code; and

in response to the existence of an updated version:

in response to the updated area not being reachable from the user code, updating the open source library to the updated version;

in response to the updated area being reachable only from a non-updated area of the updated version wherein the non-updated area is reachable from the user code, updating the open source library to the updated version; and

in response to the updated area being reachable directly from a part of the user code, notifying a user about the updated version of the open source library and the part of the computer code.

Assignments (2)
SECURITY INTEREST Recorded Jul 1, 2025
From: WHITE SOURCE LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 071572/0376 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: ABADI, AHARON; COHEN, DORON; ELRON, RAM; ROZIN LELLOUCHE, ANNA; SASS, RAMI; SAVICH, ASAF
To: WHITESOURCE LTD.
Reel/Frame 054069/0967 →
Cited By (1)
US 12,277,415