Logical level difference detection between software revisions

US9733930B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9733930-B2
Application numberUS-201514976551-A
CountryUS
Kind codeB2
Filing dateDec 21, 2015
Priority dateDec 21, 2015
Publication dateAug 15, 2017
Grant dateAug 15, 2017

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 comparison system includes a memory including a first compiled version and a second compiled version of a target application, at least one processor, and a comparison engine, executing on the at least one processor. The comparison engine is configured to identify a method in the first compiled version, locate the method in the second compiled version, compare the method in the first compiled version to the method in the second compiled version, and providing an indication that the method is an altered method from the first compiled version to the second compiled version of the target application.

First claim

Opening claim text (preview).

What is claimed is: 1. A comparison system comprising: a memory storing a first compiled version and a second compiled version of a target application; one or more hardware processors; and a comparison engine comprising instructions that, when executed on at least one of the one or more hardware processors, cause the comparison engine to perform operations comprising: accessing the memory and identifying a method in the first compiled version; locating the method in the second compiled version; comparing the method in the first compiled version to the method in the second compiled version to determine whether the method in the first compiled version is different from the method in the second compiled version, the comparing of the method in the first compiled version to the method in the second compiled version comprising comparing a structure of the method in the first compiled version to a structure of the method in the second compiled version; and based on a determination that the method in the first compiled version is different from the method in the second compiled version, causing display of an indication that the method is changed from the first compiled version to the second compiled version of the target application. 2. The comparison system of claim 1 , wherein the operations further comprise: generating a first structure signature based on the structure of the method in the first compiled version; and generating a second structure signature based on the structure of the method in the second compiled version, wherein comparing the structure of the method in the first compiled version to the structure of the method in the second compiled version comprises comparing the first structure signature to the second structure signature. 3. The comparison system of claim 1 , wherein comparing the method in the first compiled version to the method in the second compiled version further comprises comparing operations in the method in the first compiled version to operations in the method in the second compiled version. 4. The comparison system of claim 3 , wherein the operations further comprise: generating a first operations signature based on the operations in the method in the first compiled version; and generating a second operations signature based on the operations in the method in the second compiled version, wherein comparing the operations in the method in the first compiled version to the operations in the method in the second compiled version comprises comparing the first operations signature to the second operations signature. 5. The comparison system of claim 1 , further comprising: a compiler, wherein the operations further comprise initiating compilation of at least one of a first source code and a second source code of the target application using the compiler, thereby generating at least one of the first compiled version and the second compiled version. 6. The comparison system of claim 1 , wherein the memory further stores a source database storing at least one of the first compiled version and the second compiled version; and wherein the operations further comprising comprise retrieving the at least one of the first compiled version and the second compiled version from the source database prior to the comparing of the method in the first compiled version to the method in the second compiled version. 7. A computerized method comprising: identifying, in a memory, a method in a first compiled version of a target application; locating, in the memory, the method in a second compiled version of the target application; comparing, by at least one hardware processor, the method in the first compiled version to the method in the second compiled version to determine whether the method in the first compiled version is different from the method in the second compiled version, the comparing of the method in the first compiled version to the method in the second compiled version comprising comparing a structure of the method in the first compiled version to a structure of the method in the second compiled version; and based on a determination that the method in the first compiled version is different from the method in the second compiled version, causing display of an indication that the method is changed from the first compiled version to the second compiled version of the target application. 8. The computerized method of claim 7 , further comprising: generating a first structure signature based on the structure of the method in the first compiled version; and generating a second structure signature based on the structure of the method in the second compiled version, wherein comparing the structure of the method in the first compiled version to the structure of the method in the second compiled version comprises comparing the first structure signature to the second structure signature. 9. The computerized method of claim 7 , wherein comparing the method in the first compiled version to the method in the second compiled version comprises comparing operations in the method in the first compiled version to operations in the method in the second compiled version. 10. The computerized method of claim 9 , further comprising: generating a first operations signature based on the operations in the method in the first compiled version; and generating a second operations signature based on the operations in the method in the second compiled version, wherein comparing the operations in the method in the first compiled version to the operations in the method in the second compiled version comprises comparing the first operations signature to the second operations signature. 11. The computerized method of claim 7 , further comprising initiating compilation of at least one of a first source code and a second source code of the target application using a compiler, thereby generating at least one of the first compiled version and the second compiled version. 12. The computerized method of claim 7 , further comprising retrieving at least one of the first compiled version and the second compiled version from a source database prior to the comparing of the method in the first compiled version to the method in the second compiled version. 13. A non-transitory machine-readable medium storing processor-executable instructions that, when executed by at least one hardware processor of a machine, cause the machine to perform operations comprising: identifying a method in a first compiled version of a target application; locate locating the method in a second compiled version of the target application; comparing the method in the first compiled version to the method in the second compiled version to determine whether the method in the first compiled version is different from the method in the second compiled version, the comparing of the method in the first compiled version to the method in the second compiled version comprising comparing a structure of the method in the first compiled version to a structure of the method in the second compiled version; and based on a determination that the method in the first compiled version is different from the method in the second compiled version, causing display of an indication that the method is changed from the first compiled version to the second compiled version of the target application. 14. The machine-readable medium of claim 13 , wherein the operations further comprise: generating a first structure signature based on the structure of the method in the first compiled version; and generating a second structure signature based on the structure of the method in the seco

Assignees

Inventors

Classifications

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Program documentation · CPC title

  • Compilation · 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 US9733930B2 cover?
A comparison system includes a memory including a first compiled version and a second compiled version of a target application, at least one processor, and a comparison engine, executing on the at least one processor. The comparison engine is configured to identify a method in the first compiled version, locate the method in the second compiled version, compare the method in the first compiled …
Who is the assignee on this patent?
Successfactors Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 15 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).