IP Library Granted Patent US 9,311,613
Granted Patent B2
US 9,311,613 · App. 14/537,624 · Granted Apr 12, 2016

Open source software development tools

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 9,311,613
App. No.
14/537,624
Granted
Apr 12, 2016
Kind
B2
Abstract

Various tools for use in connection with software projects that may contain open-source software code therein. The tools may include systems and methods for improving results regarding scans of the software projects based on insight data obtained from at least one user's analysis of the results of a previous scan. The systems and methods may also include an application-specific collaboration tool.

Claims (39)

1. A method of analyzing a software project containing at least one open source software portion by a computer-implemented scanning tool, the method comprising:

receiving, at a processor of the scanning tool, a project file corresponding to the software project, wherein the project file comprises at least one open source software portion;

scanning the project file to identify the at least one open source software portion in relation to a plurality of known open source software portions;

generating, by the processor, a scan result in response to the scanning, wherein the scan result comprises at least one ambiguous result corresponding to a plurality of potential options identified by the processor for an association between the project file and the plurality of known open-source software portions; and

presenting to a user at a user interface of the scanning tool the scan result in relation to insight data regarding the at least one ambiguous result of the scan result based at least in part on responses to ambiguous results received from other users in relation to previous scan results presented to the other users.

2. The method of claim 1 , wherein the ambiguous result comprises a plurality of potential options regarding the identity of the at least one open source software portion.

3. The method of claim 1 , wherein the ambiguous result comprises a plurality of potential options regarding applicability of a license to the at least one open source software portion.

4. The method of claim 3 , wherein the applicability of the license to the at least one open source software depends at least in part on one or more selected from the group consisting of: usage of the project file, modification of the at least one open source software portion, or distribution of the project file.

5. The method of claim 1 , wherein the responses to ambiguous results received in relation to previous scans correspond to subjective decisions made by prior users in relation to previous ambiguous results.

6. The method of claim 5 , wherein the presenting is at least partially based on the similarity of the ambiguous results relative to the previous ambiguous results relating to prior scans of prior project files.

7. The method of claim 6 , wherein the similarity of the ambiguous results relative to the previous ambiguous results is at least partially based on at least one of a file name, a file path, a checksum, contents, transformed contents, or partial contents of the project file in relation to the prior project files.

8. The method of claim 7 , wherein the similarity of the ambiguous results relative to the previous ambiguous results is used to weight the insight data in the presenting.

9. The method of claim 1 , wherein the presenting comprises displaying the plurality of potential options with at least one of highlighting visually at least one of the plurality of potential options based on the insight data or placing at least one of the plurality potential option higher in a listing of the plurality of potential options.

10. The method of claim 1 , wherein the presenting comprises automatically selecting the most likely option from the plurality of options based on the insight data.

11. The method of claim 10 , wherein the automatically selecting comprises implementation of a policy regarding selection a top option in a listing of the plurality of options; selecting an option that has been chosen most often in the past; or selecting an option chosen most often by users, projects, companies, or companies in industries similarly situated to the software project.

12. The method of claim 1 , wherein the presenting comprises considering the quality of the insight data in relation to the scan result.

13. The method of claim 12 , wherein a quality of the insight data is at least partially determined based on a company of the user, a size of the company of the user, an industry of the company of the user, previous experience of the user with the tool, previous experience of the user in the industry of the company of the user, quality of previous inputs of the user as rated by other users, or a rate of concurrence of the user relative to other users.

14. A method for use in generating insight data in relation to results of a computer-implemented scanning tool corresponding to at least one open-source software portion in a software project, the method comprising:

receiving, at a processor of the computer-implemented scanning tool, a project file corresponding to the software project, wherein the project file comprises at least one open source software portion;

producing, by the processor, a scan result, wherein the scan result comprises at least one ambiguous result corresponding to a plurality of potential options identified by the processor for an association between the project file and a plurality of known open source software portions; and

receiving, at a user interface of the computer-implemented scanning tool, an input from a human user in connection with selection, by the human user, of at least one of the plurality of potential options to indicate a positive association between the at least one open source software portion and a corresponding one of the plurality of known open source software portions;

generating insight data regarding the at least one ambiguous result at least partially in response to the input from the human user for use in relation to subsequent search results.

15. The method of claim 14 , wherein the ambiguous result comprises a plurality of potential options regarding the identity of the at least one open source software portion.

16. The method of claim 14 , wherein the ambiguous result comprises a plurality of potential options regarding applicability of a license to the at least one open source software portion.

17. The method of claim 16 , wherein the applicability of the license to the at least one open source software depends at least in part on one or more of usage of the project file, modification of the at least one open source software portion, or distribution of the project file.

18. The method of claim 14 , wherein the selection of at least one of the plurality of options corresponds to a subjective decision made by the human user in relation to the at least one ambiguous result.

19. The method of claim 14 , wherein the generating comprises associating a quality of the insight data in relation to the scan result.

20. The method of claim 19 , wherein the quality of the insight data is at least partially determined based on a company of the user, a size of the company of the user, an industry of the company of the user, previous experience of the user with the tool, previous experience of the user in the industry of the company of the user, quality of previous inputs of the user as rated by other users, or a rate of concurrence of the user relative to other users.

21. A method for use in analyzing a software project comprising at least one open source software portion using a computer-implemented scanning tool, the method comprising:

first receiving, at a processor of the computer-implemented scanning tool, a first project file corresponding to a first software project, wherein the first project file comprises at least one open source software portion;

first producing, by the processor, a first scan result, wherein the first scan result comprises a first plurality of potential associations, identified by the processor, between the at least one open source software portion of the first software project and a plurality of known open source software portions, and wherein the first plurality of potential associations comprise a first ambiguous result; and

receiving, at a user interface of the computer-implemented scanning tool, an input from a first human user in connection with selection, by the first human user, of at least one of the plurality of first associations to indicate a positive association between the at least one open source software portion of the first software project and a corresponding one of the plurality of known open source software portions;

generating insight data regarding the first ambiguous result at least partially in response to the input from the first human user;

second receiving, at a processor of the computer-implemented scanning tool, a second project file corresponding to a second software project, wherein the second project file comprises at least one open source software portion;

second producing, by the processor, a second scan result, wherein the second scan result comprises a second plurality of potential associations, identified by the processor, between the at least one open source software portion of the second software project and a plurality of known open source software portions, wherein the second plurality of potential associations comprise a second ambiguous result; and

presenting to a second user at a user interface of the scanning tool the second scan result in relation to the insight data regarding the second ambiguous result.

22. A computer-implemented scanning tool, comprising:

an insight data collection and utilization module, executed by a processor of the computer-implemented scanning tool, that is operative to receive, at a user interface of the computer-implemented scanning tool, an input from a first human user in connection with selection, by the first human user, of at least one of the plurality of associations to indicate a positive association between the at least one open source software portion and a corresponding one of the plurality of known open source software portions and generate insight data regarding the at least one ambiguous result at least partially in response to the input from the first human user;

wherein the insight data is presented to a second human user at a user interface of the scanning tool in relation to a scan result having an ambiguous result.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 7, 2019
From: BRIGHTWOOD LOAN SERVICES LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
Reel/Frame 049996/0115 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jul 22, 2019
From: ANTARES CAPITAL LP, AS COLLATERAL AGENT
To: ROGUE WAVE SOFTWARE, INC.
Reel/Frame 049823/0731 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 22, 2019
From: PERFORCE SOFTWARE, INC.; PERFORCE INTERMEDIATE HOLDINGS, LLC; AKANA, INC.; GLIFFY, INC.; KLOCWORK INC.; OPENLOGIC, INC.; ROGUE WAVE HOLDING CORP.; ROGUE WAVE HOLDINGS, INC.; ROGUE WAVE SOFTWARE, INC.; RWS, INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; VISUAL NUMERICS, INC.; ZEROTURNAROUND USA, INC.; ZEROTURNAROUND, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 049823/0752 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 8, 2019
From: ROGUE WAVE SOFTWARE, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 049688/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2019
From: COPE, ROD
To: OPENLOGIC, INC.
Reel/Frame 049518/0769 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Feb 8, 2019
From: FIRST EAGLE PRIVATE CREDIT, LLC (F/K/A/ NEWSTAR FINANCIAL, LLC (NEWSTAR FINANCIAL, LLC F/K/A NEWSTAR FINANCIAL, INC.))
To: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.; AKANA, INC.
Reel/Frame 048289/0928 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: ROGUE WAVE SOFTWARE, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 048290/0199 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0223 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2016
From: OPENLOGIC, INC.
To: ROGUE WAVE SOFTWARE, INC.
Reel/Frame 037977/0660 →
SECURITY INTEREST Recorded Sep 29, 2015
From: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.
To: NEWSTAR FINANCIAL, INC.
Reel/Frame 036683/0378 →