IP Library Granted Patent US 10,241,759
Granted Patent B2
US 10,241,759 · App. 15/436,821 · Granted Mar 26, 2019

Detecting open source components built into mobile applications

Inventors: Rami Sass (Tel-Aviv, IL); Tom Shapira (Zofit, IL)
Assignee: WHITESOURCE LTD.
G06F8/36
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,241,759
App. No.
15/436,821
Granted
Mar 26, 2019
Kind
B2
Abstract

A method, system and computer program product, the method comprising: obtaining an open source class and archive database; receiving an Android Application Package (APK); retrieving one or more class comprised in the APK; matching each of the classes against the open source class and archive database, to obtain a corresponding archive collection, such that each archive in the archive collection comprises at least one of the classes; and reporting the respective archive collection.

Claims (33)

1. A computer-implemented method comprising:

obtaining an open source class and archive database;

receiving an ANDROID Application Package (APK) comprising a multiplicity of classes and executable by a mobile device running an ANDROID operating system;

retrieving at least one class comprised in the APK;

matching each of the at least one class against the open source class and archive database, to obtain a corresponding archive collection, such that each archive in the archive collection comprises at least one of the at least one class;

for at least two archives from the archive collection being revisions of one another and comprising the same classes, removing an earlier archive and maintaining a later archive of the at least two archives;

determining a reduced archive collection, said determining comprising:

removing from the corresponding archive collection a first archive comprising a class that is comprised only in the first archive;

clustering the corresponding archive collection without the first archive, to obtain a reduced archive collection in respect of the at least one class; and

adding the first archive to the reduced archive collection; and

reporting the reduced archive collection.

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

obtaining an open source class and archive database;

receiving an ANDROID Application Package (APK) comprising a multiplicity of classes and executable by a mobile device running an ANDROID operating system;

retrieving by the processor at least one class comprised in the APK;

matching by the processor each of the at least one class against the open source class and archive database, to obtain a corresponding archive collection, such that each archive in the archive collection comprises at least one of the at least one class;

for at least two archives from the archive collection being revisions of one another and comprising the same classes, removing an earlier archive and maintaining a later archive of the at least two archives;

determining a reduced archive collection, said determining comprising:

removing from the corresponding archive collection a first archive comprising a class that is comprised only in the first archive;

clustering the corresponding archive collection without the first archive, to obtain a reduced archive collection in respect of the at least one class; and

adding the first archive to the reduced archive collection; and

reporting the reduced archive collection.

3. A computer program product comprising a non-transitory computer readable storage medium retaining program instructions, wherein the program instructions when read by a processor, cause the processor to perform a method comprising:

obtaining an open source class and archive database;

receiving an ANDROID Application Package (APK) comprising a multiplicity of classes and executable by a mobile device running an ANDROID operating system;

retrieving at least one class comprised in the APK;

matching each of the at least one class against the open source class and archive database, to obtain a corresponding archive collection, such that each archive in the archive collection comprises at least one of the at least one class;

for at least two archives from the archive collection being revisions of one another and comprising the same classes, removing an earlier archive and maintaining a later archive of the at least two archives;

determining a reduced archive collection, said determining comprising:

removing from the corresponding archive collection a first archive comprising a class that is comprised only in the first archive;

clustering the corresponding archive collection without the first archive, to obtain a reduced archive collection in respect of the at least one class; and

adding the first archive to the reduced archive collection; and

reporting the reduced archive collection.

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 Feb 19, 2017
From: SASS, RAMI; SHAPIRA, TOM
To: WHITESOURCE LTD.
Reel/Frame 041291/0430 →
Continuity (2)
Provisional Application 62300855 · Feb 28, 2016
Related Publication 20170249143A1 · Aug 31, 2017