BACKGROUND

Applications can be installed on a computing device. The computing device can execute the application.

SUMMARY

The present disclosure is generally directed to analyzing or debugging applications for delivery via an application delivery server. Responsive to a request or trigger, applications may perform malicious actions or perform incorrect actions. Performance of malicious or incorrect actions can result in wasted computing resource utilization, bandwidth utilization, and battery utilization on a mobile device. Further, performance of malicious or incorrect actions can cause an increase in remote procedure calls due to repeated requests before the correct action is performed. Cyber security issues may result from the provision of applications that perform malicious actions, and timely identification and addressing of such applications may provide system security benefits. Due to the large number of applications and updates to applications that are provided for delivery via an application delivery server, it can be challenging to efficiently and reliably detect applications that perform malicious or incorrect actions, e.g. to detect fraudulent applications or to perform a quality or other review on applications without causing delay in the review process. Systems and methods of the present technical solution allow for an application to be reviewed based on historical execution information, simulated actions, or a matched application. Based on the review, the present technical solution can prevent delivery of the application or disable a particular action of the application that is determined to be fraudulent or incorrect.

At least one aspect is directed to a system to analyze or debug applications for delivery via an application delivery server. The system can include a data processing system having one or more processors and memory. The data processing system can identify, for an application, a messaging object configured with an action by the application developer. The application can be submitted by an application developer. The data processing system can determine a first classification score based on historical execution of the action of the messaging object provided by the application developer. The data processing system can generate a machine generated action for the application based on metadata associated with the application. The data processing system can determine a second classification score based on a comparison of the action of the messaging object provided by the application developer with the machine generated action. The data processing system can select, via a matching program, a second application that matches the application. The data processing system can determine a third classification score based on a comparison of an action approved for the second application with the action of the messaging object provided by the application developer. The data processing system can update a delivery control parameter based on one, or more or each of: the first classification score, the second classification score and/or the third classification score. The data processing system can control, responsive to the delivery control parameter updated by the data processing system, delivery of the application by the application delivery server.

Exemplary optional features of the system may be as follows. The data processing system may be configured to receive the application from an application developer device. The data processing system may be configured to receive a data file associated with the application comprising a plurality of actions established by the application developer for the application. The data processing system may be configured to receive an indication that the application is a new application uploaded by the application developer for delivery by the application delivery server. The data processing system may be configured to trigger, responsive to the indication of the new application, a debugging process comprising determination of the first classification score, the second classification score and the third classification score. The data processing system may be configured to receive an indication that the application is an updated version of the application uploaded by the application developer for delivery by the application delivery server. The data processing system may be configured to trigger, responsive to the indication of the updated version of the application, a debugging process comprising determination of the first classification score, the second classification score and the third classification score. The data processing system may be configured to receive an indication of negative feedback for the application from a client computing device on which the application is installed. The data processing system may be configured to trigger, responsive to the indication of the negative feedback for the application, a debugging process comprising determination of the first classification score, the second classification score and the third classification score. The data processing system may be configured to determine to trigger a debugging process comprising determination of the first classification score, the second classification score and/or the third classification score prior to delivery of the application for installation on a client computing device. The first classification score may indicate whether an action corresponding to the application is satisfied based on a comparison of the first classification score with a threshold. The data processing system may be configured to determine that the application matches the second application based on a similarity score between the application and the second application greater than a similarity threshold. The data processing system may be configured to determine to authorize delivery of the application based on the first classification score, the second classification score and the third classification score. The data processing system may be configured to update the delivery control parameter to cause delivery of the application by the application delivery server. The data processing system may be configured to determine a classification failure based on at least one of the first classification score, the second classification score or the third classification score being less than a failure threshold. The data processing system may be configured to determine a classification failure based on the first classification score, the second classification score and the third classification score. The data processing system may be configured to update, responsive to the classification failure, the delivery control parameter to block delivery of the application by the application delivery server. The data processing system may be configured to transmit a notification to the application developer of the classification failure. The data processing system may be configured to request, responsive to the classification failure, an updated version of the application from the application developer. The data processing system may be configured to determine, for the action of the messaging object, a classification failure based on the first classification score, the second classification score and/or the third classification score. The data processing system may be configured to disable, responsive to the classification failure, the action of the messaging object for execution via the application. The data processing system may be configured to authorize the application for delivery by the application delivery server. The data processing system may be configured to identify a plurality of actions established for the application. The data processing system may be configured to determine, via a debugging process for each of the plurality of actions, a first classification score, a second classification score and/or a third classification score. The data processing system may be configured to update the delivery control parameter to disable one or more of the plurality of actions based on the debugging process. The data processing system may be configured to identify a plurality of digital surfaces for execution of the action of the messaging object of the application. The data processing system may be configured to update the delivery control parameter to disable execution of the action of the messaging object of the application on a digital surface of the plurality of digital surfaces. The data processing system may be configured to trigger a debugging process for a third application. The data processing system may be configured to determine, via the debugging process for the third application, a first classification score for the third application. The data processing system may be configured to detect a first classification failure based on a comparison of the first classification score for the third application with a first classification threshold. The data processing system may be configured to exit, responsive to detection of the first classification failure, the debugging process for the third application prior to determining a second classification score for the third application and/or a third classification score for the third application. The data processing system may be configured to transmit a notification of the first classification failure to an administrator device.

At least one aspect is directed to a method of analyzing or debugging applications for delivery via an application delivery server. The method can be performed by a data processing system having a processor and memory. The method can include the data processing system identifying, for an application, a messaging object configured with an action by the application developer. The application can be submitted by an application developer. The method can include the data processing system determining a first classification score based on historical execution of the action of the messaging object provided by the application developer. The method can include the data processing system generating a machine generated action for the application based on metadata associated with the application. The method can include data processing system determining a second classification score based on a comparison of the action of the messaging object provided by the application developer with the machine generated action. The method can include the data processing system selecting, via a matching program, a second application that matches the application. The method can include the data processing system determining a third classification score based on a comparison of an action approved for the second application with the action of the messaging object provided by the application developer. The method can include the data processing system updating a delivery control parameter based on the first classification score, the second classification score and the third classification score. The method can include the data processing system controlling, responsive to the delivery control parameter updated by the data processing system, delivery of the application by the application delivery server.

The method may comprise receiving, by the data processing system, the application from an application developer device. The method may comprise receiving, by the data processing system, a data file associated with the application comprising a plurality of actions established by the application developer for the application. The method may comprise determining to authorize delivery of the application based on the first classification score, the second classification score and/or the third classification score. The method may comprise updating the delivery control parameter to cause delivery of the application by the application delivery server. The method may comprise determining a classification failure based on at least one of the first classification score, the second classification score or the third classification score being less than a failure threshold. The method may comprise updating, responsive to the classification failure, the delivery control parameter to block delivery of the application by the application delivery server.

At least one aspect is directed to a computer program product that, when implemented on a data processing system of an application delivery server, is configured to cause the data processing system to perform the method of analyzing or debugging applications for delivery via the application delivery server.

The individual features and/or combinations of features defined above in accordance with any aspect of the present invention or below in relation to any specific embodiment of the invention may be utilized, either separately and individually, alone or in combination with any other defined feature, in any other aspect or embodiment of the invention.

Furthermore, the present invention is intended to cover apparatus configured to perform any feature described herein in relation to a method and/or a method of using or producing, using or manufacturing any apparatus feature described herein.

These and other aspects and implementations are discussed in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and implementations, and provide an overview or framework for understanding the nature and character of the claimed aspects and implementations. The drawings provide illustration and a further understanding of the various aspects and implementations, and are incorporated in and constitute a part of this specification.

