System and method for data collection and analysis of information relating to mobile applications

US11960388B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11960388-B2
Application numberUS-202117245493-A
CountryUS
Kind codeB2
Filing dateApr 30, 2021
Priority dateDec 12, 2011
Publication dateApr 16, 2024
Grant dateApr 16, 2024

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.

A system and method are provided for data collection and analysis of information related to applications. Specifically, the developer of the application may install analytic software, which may be embodied as a software development kit (SDK), on an integrated development environment (“IDE”) associated with the developer, wherein the analytic software may be installed with a wizard-like interface having a series of easy to follow instructions. Once installed, the application, with the analytic software incorporated therein, may be provided and installed on a plurality of end user devices. Thereafter, the analytic software may work in conjunction with analytic processing logic to assist the developer in obtaining pertinent information related to bugs associated with the application that is being executed on an end user device.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method when executed by data processing hardware of a user device causes the data processing hardware to perform operations comprising: receiving crash data associated with a crashed application that previously executed on the user device; receiving a first memory address of a current instruction pointer of the crashed application; receiving relaunched data associated with a relaunched application relaunched on the user device, the relaunched application the same as the crashed application; receiving a second memory address of a current instruction pointer of the relaunched application; determining a memory address offset between the first memory address of the current instruction pointer of the crashed application and the second memory address of the current instruction pointer of the relaunched application, the memory address offset representing a relative slide between a starting address of the crashed application and a starting address of the relaunched application; determining crash information associated with the crashed application using the memory address offset; and providing the crash information to a user of the user device. 2. The method of claim 1 , wherein determining the memory address offset comprises generating a rebased instruction pointer associated with the crashed application. 3. The method of claim 2 , wherein generating the rebased instruction pointer comprises identifying a library from a list of libraries associated with code of the crashed application. 4. The method of claim 3 , wherein identifying the library from the list of libraries associated with the code of the crashed application comprises determining an address identifier associated with each library of the list of libraries. 5. The method of claim 4 , wherein the operations further comprise: generating a debased instruction pointer by subtracting a first start address associated with the current instruction pointer of the relaunched application from a second start address associated with the current instruction pointer of the crashed application; identifying the address identifier in a current list of libraries associated with the crashed application; and determining a library start address associated with the address identifier in the current list of libraries. 6. The method of claim 5 , wherein generating the rebased instruction pointer comprises adding a debased instruction pointer address to the library start address. 7. The method of claim 6 , wherein determining the memory address offset comprises obtaining a difference between the rebased instruction pointer and a resource address associated with the relaunched application. 8. The method of claim 1 , wherein determining the crash information associated with the crashed application comprises: determining symbolication of the crash data; and enabling the symbolication for future launches of the crashed application to the user of the user device. 9. The method of claim 8 , wherein determining symbolication of the crash data comprises using a dladdr( ) function that loads a symbol at a respective memory address. 10. The method of claim 1 , wherein the operations further comprise: after receiving crash data associated with the crashed application, determining a list of libraries used by the crashed application; and for each library in the list of libraries, determining a universally unique name and a start and end address associated with the crash data. 11. A system comprising: data processing hardware of a user device; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising: receiving crash data associated with a crashed application that previously executed on the user device; receiving a first memory address of a current instruction pointer of the crashed application; receiving relaunched data associated with a relaunched application relaunched on the user device, the relaunched application the same as the crashed application; receiving a second memory address of a current instruction pointer of the relaunched application; determining a memory address offset between the first memory address of the current instruction pointer of the crashed application and the second memory address of the current instruction pointer of the relaunched application, the memory address offset representing a relative slide between a starting address of the crashed application and a starting address of the relaunched application; determining crash information associated with the crashed application using the memory address offset; and providing the crash information to a user of the user device. 12. The system of claim 11 , wherein determining the memory address offset comprises generating a rebased instruction pointer associated with the crashed application. 13. The system of claim 12 , wherein generating the rebased instruction pointer comprises identifying a library from a list of libraries associated with code of the crashed application. 14. The system of claim 13 , wherein identifying the library from the list of libraries associated with the code of the crashed application comprises determining an address identifier associated with each library of the list of libraries. 15. The system of claim 14 , wherein the operations further comprise: generating a debased instruction pointer by subtracting a first start address associated with the current instruction pointer of the relaunched application from a second start address associated with the current instruction pointer of the crashed application; identifying the address identifier in a current list of libraries associated with the crashed application; and determining a library start address associated with the address identifier in the current list of libraries. 16. The system of claim 15 , wherein generating the rebased instruction pointer comprises adding a debased instruction pointer address to the library start address. 17. The system of claim 16 , wherein determining the memory address offset comprises obtaining a difference between the rebased instruction pointer and a resource address associated with the relaunched application. 18. The system of claim 11 , wherein determining the crash information associated with the crashed application comprises: determining symbolication of the crash data; and enabling the symbolication for future launches of the crashed application to the user of the user device. 19. The system of claim 18 , wherein determining symbolication of the crash data comprises using a dladdr( ) function that loads a symbol at a respective memory address. 20. The system of claim 11 , wherein the operations further comprise: after receiving crash data associated with the crashed application, determining a list of libraries used by the crashed application; and for each library in the list of libraries, determining a universally unique name and a start and end address associated with the crash data.

Assignees

Inventors

Classifications

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

  • Software maintenance or management · CPC title

  • in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices · CPC title

  • in a remote unit communicating with a single-box computer node experiencing an error/fault (remote testing G06F11/2294) · CPC title

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · 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 US11960388B2 cover?
A system and method are provided for data collection and analysis of information related to applications. Specifically, the developer of the application may install analytic software, which may be embodied as a software development kit (SDK), on an integrated development environment (“IDE”) associated with the developer, wherein the analytic software may be installed with a wizard-like interfac…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2024 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).