Methods and systems for dynamic search listing ranking of software components
Abstract
Systems and methods for automatically generating search list rankings of software components are provided. An exemplary method includes generating a list of software components in response to a request, generating ranking parameters, determining first weight values correlating with each of the ranking parameters, generating an index correlating each of the software components with each of the ranking parameters, parsing web data to populate the index, determining, via the ranking parameters, scores for each of the software components, storing the scores on the index, applying the first weight values to the scores on the index, and generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the scores that are associated with each of the software components.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system for automatically generating search list rankings of software components, the system comprising:
one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
generating a list of software components in response to a request;
generating a plurality of ranking parameters;
determining a first plurality of weight values correlating with each of the plurality of ranking parameters;
generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parsing web data to populate the index;
determining, via the ranking parameters, a plurality of scores for each of the plurality of software components;
storing the scores on the index;
applying the first plurality of weight values to the plurality of scores on the index; and
generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
wherein the ranking parameters comprise a popularity score, a release score, a detect and quality score, a support score, a fork and download score, a Q&A score and a security and vulnerability score, wherein:
the release score is a standardized measurement relative to a frequency of updates of a software component;
the popularity score is a standardized measurement relative to a popularity of a software component;
the fork and download score is a standardized measurement relative to a number of downloads associated with a software component over a fixed period of time;
the defect and quality score is a standardized measurement relative to an amount of defects logged in association with a software component; and
the Q&A score is a standardized measurement relative to the amount of activity logged in association with a provision of customer support associated with a software component.
2. The system of claim 1 , wherein the popularity score, the release score, the detect and quality score, the support score, the fork and download score, the Q&A score and the security and vulnerability score are normalized across provider data and third party data by a machine learning model.
3. The system of claim 1 , wherein the fork and download score is determined based on a number of user downloads of a software component across different providers of the software component, the different providers of the software component comprising a plurality of code repositories.
4. The system of claim 1 , wherein the Q&A score is based on a number of questions raised in public forums regarding a software component and a time period elapsed before a service provider provides a response.
5. A system for automatically generating search list rankings of software components, the system comprising:
one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
generating a list of software components in response to a request;
generating a plurality of ranking parameters;
determining a first plurality of weight values correlating with each of the plurality of ranking parameters;
generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parsing web data to populate the index;
determining, via the ranking parameters, a plurality of scores for each of the plurality of software components;
storing the scores on the index;
applying the first plurality of weight values to the plurality of scores on the index;
generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
monitoring one or more test software components;
periodically determining, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components;
extracting circumstantial web data regarding the plurality of test scores;
generating training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and
training a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values.
6. The system of claim 5 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts.
7. A system for automatically generating search list rankings of software components, the system comprising:
one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
generating a list of software components in response to a request;
generating a plurality of ranking parameters;
determining a first plurality of weight values correlating with each of the plurality of ranking parameters;
generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parsing web data to populate the index;
determining, via the ranking parameters, a plurality of scores for each of the plurality of software components;
storing the scores on the index;
applying the first plurality of weight values to the plurality of scores on the index; and
generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
wherein parsing the web data comprises:
scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and
storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage.
8. A method for automatically generating search list rankings of software components, the method comprising:
generating a list of software components in response to a request;
generating a plurality of ranking parameters;
determining a first plurality of weight values correlating with each of the plurality of ranking parameters;
generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parsing web data to populate the index;
determining, via the ranking parameters, a plurality of scores for each of the plurality of software components;
storing the scores on the index;
applying the first plurality of weight values to the plurality of scores on the index;
generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
monitoring one or more test software components;
periodically determining, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components;
extracting circumstantial web data regarding the plurality of test scores;
generating training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and
training a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values.
9. The method of claim 8 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts.
10. A method for automatically generating search list rankings of software components, the method comprising:
generating a list of software components in response to a request;
generating a plurality of ranking parameters;
determining a first plurality of weight values correlating with each of the plurality of ranking parameters;
generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parsing web data to populate the index;
determining, via the ranking parameters, a plurality of scores for each of the plurality of software components;
storing the scores on the index;
applying the first plurality of weight values to the plurality of scores on the index; and
generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
wherein parsing the web data comprises:
scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and
storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage.
11. One or more non-transitory computer-readable media storing instructions thereon, wherein the instructions, when executed by one or more processors, cause the one or more processors to:
generate a list of software components in response to a request;
generate a plurality of ranking parameters;
determine a first plurality of weight values correlating with each of the plurality of ranking parameters;
generate an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parse web data to populate the index;
determine, via the ranking parameters, a plurality of scores for each of the plurality of software components;
store the scores on the index;
apply the first plurality of weight values to the plurality of scores on the index; and
generate, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
wherein the ranking parameters comprise a popularity score, a release score, a detect and quality score, a support score, a fork and download score, a Q&A score and a security and vulnerability score, wherein:
the release score is a standardized measurement relative to a frequency of updates of a software component;
the popularity score is a standardized measurement relative to a popularity of a software component;
the fork and download score is a standardized measurement relative to a number of downloads associated with a software component over a fixed period of time;
the defect and quality score is a standardized measurement relative to an amount of defects logged in association with a software component; and
the Q&A score is a standardized measurement relative to the amount of activity logged in association with a provision of customer support associated with a software component.
12. The non-transitory computer-readable media of claim 11 , wherein the popularity score, the release score, the detect and quality score, the support score, the fork and download score, the Q&A score and the security and vulnerability score are normalized across provider data and third party data by a machine learning model.
13. The non-transitory computer-readable media of claim 11 , wherein the fork and download score is determined based on a number of user downloads of a software component across different providers of the software component, the different providers of the software component comprising a plurality of code repositories.
14. The non-transitory computer-readable media of claim 11 , wherein the Q&A score is based on a number of questions raised in public forums regarding a software component and a time period elapsed before a service provider provides a response.
15. One or more non-transitory computer-readable media storing instructions thereon, wherein the instructions, when executed by one or more processors, cause the one or more processors to:
generate a list of software components in response to a request;
generate a plurality of ranking parameters;
determine a first plurality of weight values correlating with each of the plurality of ranking parameters;
generate an index correlating each of the plurality of software components with each of the plurality of ranking parameters;
parse web data to populate the index;
determine, via the ranking parameters, a plurality of scores for each of the plurality of software components;
store the scores on the index;
apply the first plurality of weight values to the plurality of scores on the index;
generate, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components;
monitor one or more test software components;
periodically determine, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components;
extract circumstantial web data regarding the plurality of test scores;
generate training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and
train a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values.
16. The non-transitory computer-readable media of claim 15 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts.
17. The non-transitory computer-readable media of claim 15 , wherein parsing the web data comprises:
scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and
storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage.Join the waitlist — get patent alerts
Track US11836202B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.