Static analysis with input reduction

US10157049B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10157049-B2
Application numberUS-201113281653-A
CountryUS
Kind codeB2
Filing dateOct 26, 2011
Priority dateOct 26, 2011
Publication dateDec 18, 2018
Grant dateDec 18, 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.

Statically analyzing a computer software application can include identifying a plurality of objects within the instructions of a computer software application, where the objects in the plurality of objects are of the same object type, and preparing a modified version of the instructions in which any of the objects in the plurality of objects determined to be extraneous is omitted.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for statically analyzing a computer software application, comprising: evaluating, by an object identifier module, a static analysis specification that indicates a static analysis type to be performed and a particular object type previously-identified to be extraneous based upon the static analysis type to determine the static analysis type and the particular object type, identifying, by an object identifier module, within the computer software application a plurality of objects of the particular object type previously-identified to be extraneous to a static analysis of the static analysis type to be performed; preparing, by an input reducer module, a modified version of the computer software application in which the plurality of objects are omitted from the computer software application; constructing a model representation of the modified version of the computer software application; and performing, by the static analysis engine, the static analysis on the model representation of the modified version of the computer software application. 2. The method of claim 1 , wherein the type of the static analysis is a static security analysis. 3. The method of claim 1 , wherein the plurality of objects of the particular object type are identified based upon a comparison with predefined object equivalence characteristics. 4. The method of claim 3 , wherein the comparison determines equivalence based upon objects defining a same set of attributes. 5. The method of claim 3 , wherein the comparison determines equivalence based upon objects having same JavaScript attributes values. 6. The method of claim 3 , wherein the comparison determines equivalence based upon objects having same XPath to a root node in a document object model. 7. A computer hardware system configured for statically analyzing a computer software application, comprising: a hardware processor configured to initiate the following executable operations: evaluating, by an object identifier module, a static analysis specification that indicates a static analysis type to be performed and a particular object type previously-identified to be extraneous based upon the static analysis type to determine the static analysis type and the particular object type, identifying, by an object identifier module, within the computer software application a plurality of objects of the particular object type previously-identified to be extraneous to a static analysis of the static analysis type to be performed; preparing, by an input reducer module, a modified version of the computer software application in which the plurality of objects are omitted from the computer software application; constructing a model representation of the modified version of the computer software application; and performing, by the static analysis engine, the static analysis on the model representation of the modified version of the computer software application. 8. The system of claim 7 , wherein the type of the static analysis is a static security analysis. 9. The system of claim 7 , wherein the plurality of objects of the particular object type are identified based upon a comparison with predefined object equivalence characteristics. 10. The system of claim 9 , wherein the comparison determines equivalence based upon objects defining a same set of attributes. 11. The system of claim 9 , wherein the comparison determines equivalence based upon objects having same JavaScript attributes values. 12. The system of claim 9 , wherein the comparison determines equivalence based upon objects having same XPath to a root node in a document object model. 13. A computer program product, comprising: a hardware storage device having program code stored thereon, the program code, which when executed by a computer hardware system configured for statically analyzing a computer software application, causes the computer hardware system to perform: evaluating, by an object identifier module, a static analysis specification that indicates a static analysis type to be performed and a particular object type previously-identified to be extraneous based upon the static analysis type to determine the static analysis type and the particular object type, identifying, by an object identifier module, within the computer software application a plurality of objects of the particular object type previously-identified to be extraneous to a static analysis to be performed; preparing, by an input reducer module, a modified version of the computer software application in which the plurality of objects are omitted from the computer software application; constructing a model representation of the modified version of the computer software application; and performing, by the static analysis engine, the static analysis on the model representation of the modified version of the computer software application. 14. The computer program product of claim 13 , wherein the type of the static analysis is a static security analysis. 15. The computer program product of claim 13 , wherein the plurality of objects of the particular object type are identified based upon a comparison with predefined object equivalence characteristics. 16. The computer program product of claim 15 , wherein the comparison determines equivalence based upon objects defining a same set of attributes. 17. The computer program product of claim 15 , wherein the comparison determines equivalence based upon objects having same JavaScript attributes values. 18. The computer program product of claim 15 , wherein the comparison determines equivalence based upon objects having same XPath to a root node in a document object model.

Assignees

Inventors

Classifications

  • G06F8/443Primary

    Optimisation · CPC title

  • Structural analysis for program understanding · CPC title

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · 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 US10157049B2 cover?
Statically analyzing a computer software application can include identifying a plurality of objects within the instructions of a computer software application, where the objects in the plurality of objects are of the same object type, and preparing a modified version of the instructions in which any of the objects in the plurality of objects determined to be extraneous is omitted.
Who is the assignee on this patent?
Haviv Yinnon A, Kalman Daniel, Pikus Dmitri, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F8/443. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 18 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).