Automatically Determining Data Dependencies to Facilitate Code Execution

US2018113686A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018113686-A1
Application numberUS-201615333869-A
CountryUS
Kind codeA1
Filing dateOct 25, 2016
Priority dateOct 25, 2016
Publication dateApr 26, 2018
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.

Technologies relating to determining data variable dependencies to facilitate code execution are disclosed. An example method includes: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; determining one or more parameter dependencies associated with the first data parameters; and determining, based on the one or more parameter dependencies, a first execution performance of the first programming statement. The method may further include: determining a second execution performance of the second programming statement and scheduling execution of the first programming statement and of the second programming statement based on the first and second execution performances. For example, at least a portion of the first programming statement is executed in parallel to executing the second programming statement, or the first programming statement and the second programming statement are executed in a predefined sequence.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system, comprising: a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to execute instructions to cause the system to perform operations comprising: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; determining one or more parameter dependencies associated with the first data parameters; and determining, based on the one or more parameter dependencies, a first execution performance of the first programming statement. 2 . The system of claim 1 , wherein the operations further comprise: parsing the first programming statement based on one or more parsing rules to identify the first data parameters. 3 . The system of claim 2 , wherein the one or more parsing rules includes at least one of a syntax-based parsing rule, a semantics-based parsing rule, a system-provided parsing rule, or a user defined parsing rule. 4 . The system of claim 2 , wherein the one or more parsing rules includes a parsing rule that is independent of a specific programming language. 5 . The system of claim 1 , wherein the operations further comprise: determining a second execution performance of a second programming statement. 6 . The system of claim 5 , wherein the operations further comprise: scheduling execution of the first programming statement and of the second programming statement based on the first execution performance and second execution performance. 7 . The system of claim 5 , wherein scheduling execution of the first programming statement and the second programming statement includes executing at least a portion of the first programming statement in parallel with executing the second programming statement. 8 . The system of claim 5 , wherein scheduling execution of the first programming statement and the second programming statement includes executing the first programming statement and the second programming statement in a predefined sequence. 9 . The system of claim 1 , wherein determining one or more parameter dependencies associated with the first data parameters includes: identifying, based on a hash function, a parameter dependency associated with a data parameter in the first data parameters. 10 . The system of claim 1 , wherein the operations further comprise: determining the first programming statement includes a user-defined function; and selecting a user-defined dependency associated with the first programming statement for inclusion into the one or more parameter dependencies. 12 . A method, comprising: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; identifying second data parameters associated with a second programming statement in the set of programming statements; determining one or more parameter dependencies associated with the first data parameters and with the second data parameters; and determining, based on the one or more parameter dependencies, an execution performance of the set of programming statements. 13 . The method of claim 12 , wherein the first programing statement includes a programming statement for an off-line execution and wherein determining one or more parameter dependencies associated with the first data parameters includes executing a dependency injection function associated with the programming statement. 14 . The method of claim 12 , wherein determining one or more parameter dependencies associated with the first data parameters includes determining a parameter dependency based on a type associated with a data parameter in the first data parameters. 15 . The method of claim 12 , wherein determining a first execution performance of the first programming statement is based on execution statistics data associated with a data parameter in the first data parameters. 16 . The method of claim 12 , further comprising: excluding one or more constants from the first data parameters to identify one or more variables; and determining a parameter dependency associated with the one or more variables. 17 . A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; identifying second data parameters associated with a second programming statement in the set of programming statements; determining one or more parameter dependencies associated with the first data parameters and with the second data parameters; and determining, based on the one or more parameter dependencies, an execution schedule of the first programming statement and the second programming statement. 18 . The non-transitory machine-readable medium of claim 17 , wherein determining the execution schedule includes: executing at least a portion of the first programming statement in parallel with executing the second programming statement. 19 . The non-transitory machine-readable medium of claim 17 , wherein determining the execution schedule includes: executing the first programming statement and the second programming statement in a predefined sequence. 20 . The non-transitory machine-readable medium of claim 17 , wherein determining one or more parameter dependencies includes: identifying execution statistics data associated with the first data parameters and with the second data parameters.

Assignees

Inventors

Classifications

  • Parsing · CPC title

  • G06F8/433Primary

    Dependency analysis; Data or control flow analysis · CPC title

  • Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions · CPC title

  • Reducing the execution time required by the program code · 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 US2018113686A1 cover?
Technologies relating to determining data variable dependencies to facilitate code execution are disclosed. An example method includes: identifying a set of programming statements having a plurality of data parameters; identifying first data parameters associated with a first programming statement in the set of programming statements; determining one or more parameter dependencies associated wi…
Who is the assignee on this patent?
Paypal Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/433. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 26 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).