Methods and systems for automated tagging based on software execution traces

US2016140031A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016140031-A1
Application numberUS-201615005777-A
CountryUS
Kind codeA1
Filing dateJan 25, 2016
Priority dateOct 24, 2014
Publication dateMay 19, 2016
Grant date

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.

Systems and methods for analysis of execution patterns for applications executing on remote devices. In some implementations of the system, a knowledge base stores successful traces from a plurality of instances of an application and one or more computing processors in the system receive, via a network interface, call-stack information from an instance of the application executing on a remote device, call-stack information including periodic captures of an execution status for the instance of the application, and determine whether there is a similarity between the call-stack information received from the instance of the application and the stored plurality of successful traces. Responsive to determining a similarity, the computing processors add the remote device to a population of devices likely to execute the object and facilitate further actions specific to the device population.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system comprising: a knowledge base storing a collected plurality of successful traces from a plurality of instances of an application executing on a plurality of remote devices; a network interface; and a computer processor configured to: receive, via the network interface from a first instance of the application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receive, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregate, responsive to receiving the indicator, the received units of call-stack information leading up to the executed objective as a successful trace and store the successful trace in the knowledge base; receive, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determine a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; and add, responsive to determining the similarity, the second remote device to a population of devices likely to execute the object. 2 . The system of claim 1 , further comprising a filter configured to use a set of rules to exclude, from each received unit of call-stack information, information that is common to all instances of the application. 3 . The system of claim 2 , wherein the computer processor is configured to update the set of rules based on the collected plurality of successful traces. 4 . The system of claim 2 , wherein the computer processor is configured to update the set of rules based on call-stack traces where the objective has not been executed. 5 . The system of claim 1 , wherein the call-stack information is received from a library linked to the application. 6 . The system of claim 1 , wherein a unit of call-stack information includes multiple call-stack captures batched together. 7 . The system of claim 1 , wherein the periodicity of call-stack captures is between one per second and one per minute. 8 . The system of claim 1 , wherein determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces comprises using a clustering algorithm to determine that the call-stack information received from the second instance of the application belongs to a cluster of successful traces. 9 . The system of claim 1 , wherein the objective is a purchase event. 10 . A method comprising: receiving, from a first instance of an application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receiving, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregating the received units of call-stack information leading up to the executed objective as a successful trace; collecting a plurality of successful traces from a plurality of instances of the application executing on a plurality of remote devices; receiving, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; adding the second remote device to a population of devices likely to execute the object. 11 . The method of claim 1 , comprising filtering the call-stack information using a set of rules to exclude call-stack information common to all instances of the application. 12 . The method of claim 11 , comprising updating the set of rules based on the collected plurality of successful traces. 13 . The method of claim 11 , comprising updating the set of rules based call-stack traces where the objective has not been executed. 14 . The method of claim 10 , comprising receiving the call-stack information from a library linked to the application. 15 . The method of claim 10 , wherein a unit of call-stack information includes multiple call-stack captures batched together. 16 . The method of claim 10 , wherein the periodicity of call-stack captures is between one per second and one per minute. 17 . The method of claim 10 , wherein determining a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces comprises using a clustering algorithm to determine that the call-stack information received from the second instance of the application belongs to a cluster of successful traces. 18 . The method of claim 10 , wherein the objective is a purchase event. 19 . A non-transitory computer-readable medium storing instructions that, when executed by one or more computing processors, cause the one or more computing processors to: receive, from a first instance of an application executing on a first remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the first instance of the application; receive, from the first instance of the application, an indicator that the first instance of the application has executed an objective; aggregate, responsive to receiving the indicator, the received units of call-stack information leading up to the executed objective as a successful trace and store the successful trace in a knowledge base storing a collected plurality of successful traces from a plurality of instances of an application executing on a plurality of remote devices; receive, from a second instance of the application executing on a second remote device, one or more units of call-stack information, the call-stack information including periodic captures of an execution status for the second instance of the application; determine a similarity between the call-stack information received from the second instance of the application and the plurality of successful traces; and add, responsive to determining the similarity, the second remote device to a population of devices likely to execute the object. 20 . The non-transitory computer-readable medium of claim 19 , storing instructions that, when executed by one or more computing processors, cause the one or more computing processors to filter the call-stack information using a set of rules to exclude call-stack information common to all instances of the application.

Assignees

Inventors

Classifications

  • Software maintenance or management · CPC title

  • G06N5/02Primary

    Knowledge representation; Symbolic representation · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • Structural analysis for program understanding · CPC title

  • for performance assessment · CPC title

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 US2016140031A1 cover?
Systems and methods for analysis of execution patterns for applications executing on remote devices. In some implementations of the system, a knowledge base stores successful traces from a plurality of instances of an application and one or more computing processors in the system receive, via a network interface, call-stack information from an instance of the application executing on a remote d…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification G06N5/02. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).