Patent Document ID: 10089661
Application ID: 15380664
Patent Flag: 1

Claim One:
1. A computer-implemented method for selecting a software product for testing, the method comprising: identifying a software product available from an electronic marketplace, wherein the electronic marketplace has a plurality of software products; obtaining, from one or more server computing devices of the electronic marketplace, first data that indicates a number of downloads of the software product within a specified period of time from the electronic marketplace; generating, using the one or more server computing devices, a value indicating a forecasted popularity the software product based at least in part on the number of downloads, wherein the forecasted value indicates a popularity ranking of the software product relative to the plurality of the software products available from the electronic marketplace; obtaining, from one or more customer computing devices, second data related to an execution of the software product, the data including one or more of crash data indicating one or more crashes of the software product, customer ratings data including one or more of positive customer reviews or negative customer reviews of the software product, software provider ratings data including one or more of positive software provider reviews or negative software provider reviews of one or more of the software product or other software products available from a software provider of the software product, marketplace data indicating revenue generated from acquisition of the software product from the electronic marketplace, or usage data indicating a time spent using the software product; providing at least a portion of the second data to a machine learning mechanism, the second data including the crash data, the customer ratings data, the software provider ratings data, the marketplace data and the usage data, the machine learning mechanism utilizing random forests that operate using a plurality of decision trees; receiving, from the machine learning mechanism, an indication that the software product exhibits anomalous behavior; obtaining, from the one or more server computing devices of the electronic marketplace, updated first data that indicates a second number of downloads of the software product within a second specified period of time from the electronic marketplace; adjusting the value based at least in part on the updated first data; ranking the software product in relation to the plurality of software products available from the electronic marketplace based at least in part on the value indicating the forecasted popularity and the indication that the software product exhibits anomalous behavior; determining that the software product has the highest value among the plurality of software products; selecting the software product for testing; and causing the software product to be tested by a testing service.