Software repository recommendation engine

Inventors

Gove, JR., Robert P.Haber, Casey Aaron

Assignees

Two Six Labs LLC

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-11487538-B1

Patent

Publication Date

2022-11-01

Expiration Date


Abstract

A software library recommendation engine provides an analysis and aggregate dashboard comparison of metrics denoting maintainability trends in a plurality of libraries from a publicly available software repository. Maintainability trends include regularity and magnitude of changes (commits), resolution of user inquiries for issues, problems and bugs, and an estimation of core contributors for estimating inertia and longevity of a plurality of candidate libraries under consideration for a particular usage. Usage metrics coalesce and summarize usage data of libraries under consideration for comparison, and a dashboard of computed metrics provides an indication of trends that indicate reliability or longevity to mitigate vulnerability of the library user from dependence on the collaborative intent of the library author and contributors.

Core Innovation

The invention identifies a package in a commonly available software repository that defines an interface of available executable modules based on an application programming interface (API). It gathers, from a catalog of received developer inputs to the package, recorded events about the package, using the interface associated with the package and the recorded events received via a developer interface. Based on these recorded events, it computes a reliability value indicative of a subsequent reliability of the executable modules in the package.

The invention renders, on a graphical user interface (GUI), an indication of one or more executable modules having a high likelihood of reliability based on the computed reliability value. It then retrieves, via the interface of available executable modules, one or more of the executable modules. Finally, it inserts an API corresponding to each respective executable module into a compiled software program based on the likelihood of reliability.

A software library recommendation engine performs an analysis that computes a reliability value indicative of subsequent reliability of executable modules in a software library package, based on recorded events stored in a database. The system provides a GUI for receiving and rendering an indication of one or more executable modules having high likelihood of reliability based on the computed reliability value. The engine includes a developer interface configured to retrieve executable modules via the interface and insert corresponding APIs into a compiled software program based on the likelihood of reliability.

Claims Coverage

The partial content provides two independent claims that share the same core pipeline: identify a package, gather recorded events from developer inputs, compute a reliability value for executable modules, render a GUI indication for modules with high reliability, retrieve modules, and insert corresponding APIs into a compiled software program based on the likelihood of reliability. The inventive features below are extracted as the main elements of each independent claim.

Reliability-based module identification from a commonly available repository package

Identifying a package in a commonly available software repository, the package defining an interface of available executable modules based on an application programming interface (API).

Reliability value computation from recorded developer input events

Gathering, from a catalog of received developer inputs to the package, recorded events about the package and computing, based on the recorded events, a reliability value indicative of a subsequent reliability of the executable modules in the package.

GUI indication of executable modules with high reliability likelihood

Rendering, on a graphical user interface (GUI), an indication of one or more of the executable modules having a high likelihood of reliability based on the computed reliability value.

Module retrieval and API insertion into a compiled program based on reliability

Retrieving, via the interface of available executable modules, one or more of the executable modules, and inserting an API corresponding to each respective executable module into a compiled software program based on the likelihood of reliability.

Reliability-score recommendation engine with database, analysis logic, and GUI rendering

Providing a recommendation engine that includes an interface to one or more packages in a commonly available software repository defining an interface of available executable modules based on an API, a database storing recorded events received from the interface, analysis logic computing a reliability value indicative of subsequent reliability, and a GUI for receiving and rendering an indication of one or more executable modules having a high likelihood of reliability.

Developer interface retrieval and reliability-based API insertion into compiled software

Providing a developer interface configured to retrieve, via the interface of available executable modules, one or more of the executable modules, and insert an API corresponding to each respective executable module into a compiled software program based on the likelihood of reliability.

Across both independent claims, the claim coverage centers on reliability computation for executable modules using recorded events from developer inputs, visualization of a high-reliability likelihood on a GUI, and selection/integration of executable modules by retrieving modules through their API-based interface and inserting corresponding APIs into a compiled software program based on the reliability likelihood.

Stated Advantages

Not explicitly described in patent.

Documented Applications

Not explicitly described in patent.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.