IP Library › Granted Patent US 11,023,356
Granted Patent B2
US 11,023,356 · App. 16/238,824 · Granted Jun 1, 2021

Utilization of publicly available source code

Inventors: Kelley Anders (East New Market, MD); Jeremy R. Fox (Georgetown, TX); Jonathan Dunne (Dungarvan, IE); Gary Denner (Leixlip, IE)
Assignee: International Business Machines Corporation
G06F11/3608
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,023,356
App. No.
16/238,824
Granted
Jun 1, 2021
Kind
B2
Abstract

A method of determining the utility of publicly available source code includes analyzing, by one or more processors of a computer system, source code of an application in development, determining, by the one or more processors of the computer system, efficacy of a publicly available target code sample based a discriminant function analysis model, computing, by the one or more processors of the computer system, a goodness of fit assessment of the publicly available target code sample to the application in development based on the analyzing the source code of the application in development, and determining, by the one or more processors of the computer system, whether to use the publicly available target code sample based on the goodness of fit assessment.

Claims (63)

1. A method of determining the utility of publicly available source code, the method comprising:

analyzing, by one or more processors of a computer system, source code of an application in development;

analyzing, by the one or more processors of the computer system, a plurality of public code samples within a public code repository comprising both bad code samples and good code samples;

creating, by the one or more processors of the computer system, a discriminant function analysis model that incorporates each of the plurality of public code samples within the public code repository;

determining, by the one or more processors of the computer system, efficacy of a publicly available target code sample based on the discriminant function analysis model, and determining from the discriminant function analysis model that the publicly available target code sample is not a bad code sample that is decayed or rotted;

computing, by the one or more processors of the computer system, a goodness of fit assessment of the publicly available target code sample to the application in development based on the analyzing the source code of the application in development;

determining, by the one or more processors of the computer system, whether to use the publicly available target code sample based on the goodness of fit assessment; and

recommending, by the one or more processors of the computer system to a developer, the publicly available target code sample based on the goodness of fit assessment.

2. The method of claim 1 , further comprising:

analyzing, by the one or more processors of the computer system, a plurality of publicly available target code samples;

deriving, by the one or more processors of the computer system, the discriminant function analysis model based on an analyzing of the plurality of publicly, available target code samples.

3. The method of claim 1 , further comprising:

determining, by the one or more processors of the computer system, a type of the application in development from the analyzing, wherein the computing the goodness of fit assessment is further based on the determining the type of the application in development.

4. The method of claim 1 , wherein the determining whether to use the publicly available target code sample is based on the goodness of fit assessment satisfying a threshold.

5. The method of claim 1 , further comprising:

determining, by the one or more processors of the computer system, whether the publicly available target code sample is currently used publicly in software.

6. The method of claim 1 , further comprising:

ranking, by the one or more processors of the computer system, the publicly available target code relative to a plurality of publicly available target codes based on the goodness of fit assessment of the publicly available target code relative a goodness of fit assessment of the plurality of publicly available target codes.

7. The method of claim 1 , further comprising:

determining, by the one or more processors of the computer system, the most popular way to perform a functionality; and

identifying, by the one or more processors of the computer system, the publicly available target code sample based on the determining the most popular way to perform the functionality.

8. A computer system, comprising:

one or more processors;

one or more memory devices coupled to the one or more processors; and

one or more computer readable storage devices coupled to the one or more processors, wherein the one or more storage devices contain program code executable by the one or more processors via the one or more memory devices to implement a method of determining the utility of publicly available source code, the method comprising:

analyzing, by the one or more processors of the computer system, source code of an application in development;

analyzing, by the one or more processors of the computer system, a plurality of public code samples within a public code repository comprising both bad code samples and good code samples;

creating, by the one or more processors of the computer system, a discriminant function analysis model that incorporates each of the plurality of public code samples within the public code repository;

determining, by the one or more processors of the computer system, efficacy of a publicly available target code sample based on a discriminant function analysis model and that the publicly available target code sample is not a bad code sample that is decayed or rotted;

computing, by the one or more processors of the computer system, a goodness of fit assessment of the publicly available target code sample to the application in development based on the analyzing the source code of the application in development;

determining, by the one or more processors of the computer system, whether to use the publicly available target code sample based on the goodness of fit assessment; and

recommending, by the one or more processors of the computer system to a developer, the publicly available target code sample based on the goodness of fit assessment.

9. The computer system of claim 8 , the method further comprising:

analyzing, by the one or more processors of the computer system, a plurality of publicly available target code samples;

deriving, by the one or more processors of the computer system, the discriminant function analysis model based on an analyzing of the plurality of publicly available target code samples.

10. The computer system of claim 8 , the method further comprising:

determining; by the one or more processors of the computer system, a type of the application in development from the analyzing, wherein the computing the goodness of fit assessment is further based on the determining the type of the application in development.

11. The computer system of claim 8 , wherein the determining whether to use the publicly available target code sample is based on the goodness of fit assessment satisfying a threshold.

12. The computer system of claim 8 , the method further comprising:

determining, by the one or more processors of the computer system, whether the publicly available target code sample is currently used publicly in software.

13. The computer system of claim 8 , the method further comprising:

ranking, by the one or more processors of the computer system, the publicly available target code relative to a plurality of publicly available target codes based on the goodness of fit assessment of the publicly available target code relative a goodness of fit assessment of the plurality of publicly available target codes.

14. The computer system of claim 8 , the method further comprising:

determining, by the one or more processors of the computer system, the most popular way to perform a functionality; and

identifying, by the one or more processors of the computer system, the publicly available target code sample based on the determining the most popular way to perform the functionality.

15. A computer program product, comprising a computer readable hardware storage device storing a computer readable program code, the computer readable program code comprising an algorithm that when executed by one or more processors of a computer system implements a method of determining the utility of publicly available source code, the method comprising:

analyzing, by the one or more processors of the computer system, source code of an application in development;

analyzing, by the one or more processors of the computer system, a plurality of public code samples within a public code repository comprising both bad code samples and good code samples;

creating, b the one or more processors of the computer system, a discriminant function analysis model that incorporates each of the plurality of public code samples within the public code repository;

determining, by the one or more processors of the computer system, efficacy of a publicly available target code sample based on a discriminant function analysis model and that the publicly available target code sample is not a bad code sample that is decayed or rotted;

computing, by the one or more processors of the computer system, a goodness of fit assessment of the publicly available target code sample to the application in development based on the analyzing the source code of the application in development;

determining, by the one or more processors of the computer system, whether to use the publicly available target code sample based on the goodness of fit assessment; and

recommending, by the one or more processors of the computer system to a developer, the publicly available target code sample based on the goodness of fit assessment.

16. The computer program product of claim 15 , the method further comprising:

analyzing, by the one or more processors of the computer system, a plurality of publicly available target code samples;

deriving, by the one or more processors of the computer system, the discriminant function analysis model based on an analyzing of the plurality of publicly available target code samples.

17. The computer program product of claim 15 , the method further comprising:

determining, by the one or more processors of the computer system, a type of the application in development from the analyzing, wherein the computing the goodness of fit assessment is further based on the determining the type of the application in development.

18. The computer program product of claim 15 , wherein the determining whether to use the publicly available target code sample is based on the goodness of fit assessment satisfying a threshold.

19. The computer program product of claim 15 , the method further comprising:

determining, by the one or more processors of the computer system, whether the publicly available target code sample is currently used publicly in software.

20. The computer program product of claim 15 , the method further comprising:

ranking, by the one or more processors of the computer system, the publicly available target code relative to a plurality of publicly available target codes based on the goodness of fit assessment of the publicly available target code relative a goodness of fit assessment of the plurality of publicly available target codes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2019
From: ANDERS, KELLEY; FOX, JEREMY R.; DUNNE, JONATHAN; DENNER, GARY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047891/0143 →
Continuity (1)
Related Publication 20200218636A1 · Jul 9, 2020
Cited By (1)
US 12,493,462