Mobile application management

US10114950B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10114950-B2
Application numberUS-201715652623-A
CountryUS
Kind codeB2
Filing dateJul 18, 2017
Priority dateOct 19, 2012
Publication dateOct 30, 2018
Grant dateOct 30, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Code of a particular application is analyzed against a semantic model of a software development kit of a particular platform. The semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform. A set of behaviors of the particular application is identified based on the analysis of the code and a particular one of the set of behaviors is identified as an undesired behavior. The particular application can be automatically modified to remediate the undesired behavior. The particular application can be assigned to one of a plurality of device modes, and access to the particular application on a user device can be based on which of the plurality of device modes is active on the user device.

First claim

Opening claim text (preview).

The invention claimed is: 1. At least one non-transitory machine readable storage medium having instructions stored thereon, the instructions when executed on at least one processor, cause the at least one processor to: analyze code of a particular application against a machine-readable semantic model of a software development kit of a particular platform based on a request to download the particular application, wherein the machine-readable semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform and analysis of the code of the particular application comprises: parsing the code to identify a subset of the API calls capable of being made by the particular application; and identifying, from the machine-readable semantic model, a set of application behaviors of the particular application corresponding to the subset of the API calls, wherein the set of application behaviors describes functionality of the particular application; identify data describing a prior user selection of a subset of the plurality of application behaviors, wherein the prior user selection defines a set of undesired behaviors to be associated with a particular user profile; determine that a particular one of the set of application behaviors is an undesired behavior based on the prior user selection, wherein the particular one of the set of application behaviors corresponds to a particular one of the subset of the API calls; autonomously modify, by the at least one processor, code of the particular application based on the machine-readable semantic model to remediate the undesired behavior and generate a custom version of the particular application, wherein modifying the code comprises replacing code of the particular API with code of another API; and provide the custom version of the particular application for download by a device associated with the particular user profile in lieu of an unmodified version of the particular application. 2. The at least one non-transitory machine readable storage medium of claim 1 , wherein determining that the particular one of the set of application behaviors is an undesired behavior includes comprises: accessing rule data corresponding to a particular one of a plurality of computing devices; and determining, from the rule data, that the one or more behaviors violate one or more rules. 3. The at least one non-transitory machine readable storage medium of claim 2 , wherein the rules are associated with a particular user. 4. The at least one non-transitory machine readable storage medium of claim 3 , wherein at least a portion of the rules include rules defined by the particular user. 5. The at least one non-transitory machine readable storage medium of claim 2 , wherein the rules are associated with a network service provider. 6. The at least one non-transitory machine readable storage medium of claim 1 , wherein the prior user selection is received in connection with a user interface displaying human readable descriptions of the plurality of application behaviors. 7. The at least one non-transitory machine readable storage medium of claim 6 , wherein the human readable descriptions are generated using a template for generating the human readable descriptions and the machine-readable semantic model. 8. The at least one non-transitory machine readable storage medium of claim 1 , wherein the particular application is to be executed on the device and the device is one of a smart phone and a tablet computing device. 9. A method comprising: analyzing code of a particular software application against a semantic model of a software development kit of a particular platform based on a request to download the particular application, the semantic model associating a plurality of application behaviors with respective application programming interface (API) calls of the particular platform and analysis of the code of the particular software application comprises: parsing the code to identify a subset of the API calls capable of being made by the particular software application; and identifying, from the semantic model, a set of application behaviors of the particular software application corresponding to the subset of the API calls, wherein the set of application behaviors describes functionality of the particular software application; identifying data describing a prior user selection of a subset of the plurality of application behaviors, wherein the prior user selection comprises a selection from a listing generated from the semantic model and the prior user selection defines a set of undesired behaviors to be associated with a particular user profile; determining that a particular one of the set of application behaviors of the particular software application is an undesired behavior based on the prior user selection, wherein the particular one of the set of application behaviors corresponds to a particular one of the subset of the API calls; autonomously modifying, by at least one processor, code of the software particular application based on the semantic model to remediate the undesired behavior and generate a custom version of the particular software application, wherein modifying the code comprises replacing code of the particular one of the subset of the API calls with code of another API; and providing the custom version of the particular software application for download by a device associated with the particular user profile in lieu of an unmodified version of the particular software application. 10. The method of claim 9 , further comprising disassembling the code of the particular software application into a control flow and generating a model of application logic for the particular software application based at least in part on the semantic model. 11. The method of claim 10 , wherein the model of application logic is further based, at least in part, on ambient application knowledge. 12. The method of claim 9 , further comprising performing a remediation action based on the identification that one or more of the set of application behaviors are undesired behaviors. 13. The method of claim 9 , wherein the code of the particular software application is analyzed in connection with an attempt to implement the particular software application on the device. 14. The method of claim 13 , further comprising restricting implementation of the unmodified version of the particular software application on the device based on determining that one or more of the set of application behaviors are undesired behaviors. 15. The method of claim 14 , wherein restricting implementation includes blocking installation of the unmodified version of the particular software application on the device. 16. A system comprising: at least one processor device; at least one memory element; and an application behavioral analysis engine, adapted when executed by the at least one processor device to: analyze code of a particular application against a semantic model of a software development kit of a particular platform based on a request to download the particular application, wherein the semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform and analysis of the code of the particular application comprises: parsing the code to identify a subset of the API calls capable of being made by the particular application; and identifying, from the semantic model, a set of application behaviors of the particular application corresponding t

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10114950B2 cover?
Code of a particular application is analyzed against a semantic model of a software development kit of a particular platform. The semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform. A set of behaviors of the particular application is identified based on the analysis of the code and a particular …
Who is the assignee on this patent?
Mcafee Llc, Mcafee Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/436. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 30 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).