Patents by Inventor Luke James Cartey

Luke James Cartey has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9678721
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Grant
    Filed: April 4, 2016
    Date of Patent: June 13, 2017
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey
  • Patent number: 9678720
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Grant
    Filed: April 4, 2016
    Date of Patent: June 13, 2017
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey
  • Patent number: 9658839
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes processing selected software elements as represented by a raw dependency graph and a hierarchy graph to generate data representing an aggregated dependency graph, the aggregated dependency graph having nodes representing the selected software elements and aggregated dependencies between one or more of the selected software elements, wherein each aggregated dependency between a pair of the selected software elements represents that a first software element of the pair, or a descendant of the first software element according to the hierarchy graph, depends, according to the raw dependency graph, on a second software element of the pair or a descendant of the second software element according to the hierarchy graph. The data representing the aggregated dependency graph is provided in response to the request.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: May 23, 2017
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey, Geoffrey White
  • Publication number: 20170090876
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Application
    Filed: April 4, 2016
    Publication date: March 30, 2017
    Inventors: Joshua George Hale, Luke James Cartey
  • Publication number: 20170090877
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Application
    Filed: April 4, 2016
    Publication date: March 30, 2017
    Inventors: Joshua George Hale, Luke James Cartey
  • Publication number: 20170090889
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes processing selected software elements as represented by a raw dependency graph and a hierarchy graph to generate data representing an aggregated dependency graph, the aggregated dependency graph having nodes representing the selected software elements and aggregated dependencies between one or more of the selected software elements, wherein each aggregated dependency between a pair of the selected software elements represents that a first software element of the pair, or a descendant of the first software element according to the hierarchy graph, depends, according to the raw dependency graph, on a second software element of the pair or a descendant of the second software element according to the hierarchy graph. The data representing the aggregated dependency graph is provided in response to the request.
    Type: Application
    Filed: June 6, 2016
    Publication date: March 30, 2017
    Inventors: Joshua George Hale, Luke James Cartey, Geoffrey White
  • Patent number: 9552276
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a query that defines a dependency between the software elements in a project. Searching a database to identify matching source software elements having the one or more source attributes and target software elements having the one or more target attributes of the query. Identifying pairs of matching source software elements and matching target software elements having the specified relationship, and generating, for each pair of matching source software elements and matching target software elements having the specified relationship, a new dependency in a raw dependency graph, the new dependency being a dependency from a source software element of the pair to the target software element of the pair.
    Type: Grant
    Filed: March 17, 2016
    Date of Patent: January 24, 2017
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey, Geoffrey White
  • Patent number: 9477445
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Grant
    Filed: April 4, 2016
    Date of Patent: October 25, 2016
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey
  • Patent number: 9411556
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for inlining software dependencies. One of the methods includes receiving data representing dependencies between software elements in a project, wherein the plurality of software elements includes a first software element that includes a usage of a template parameterized by a type, a second software element that is or occurs within a definition of the template, and a third software element. If the dependencies include a first dependency of the first software element on the second software element, and a second dependency of the second software element on the third software element, the second dependency is removed and a new dependency is generated of (i) the first software element on (ii) the third software element.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: August 9, 2016
    Inventors: Peter Cawley, Joshua George Hale, Luke James Cartey, Geoffrey White
  • Patent number: 9411707
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a request to generate implicit dependencies introduced by remote procedure calls in a project. A registration of a remote procedure call is identified, wherein the registration of the remote procedure call specifies a target function and a name for the remote procedure call. An invocation of the remote procedure call using the name for the remote procedure call is identified, wherein the invocation occurs in a source software element of the project. A definition of the target function of the remote procedure call is identified, wherein the target function is defined in a target software element of the project. A new dependency is generated, the new dependency being a dependency from the source software element to the target software element.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: August 9, 2016
    Assignee: Semmle Limited
    Inventors: Joshua George Hale, Luke James Cartey
  • Patent number: 9411557
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a user-specified model architecture of software elements in a project, wherein the model architecture is a hierarchy graph having leaf nodes that represent user-selected portions of the project, and one or more non-leaf nodes, wherein each non-leaf node is a parent node of a user-specified group of leaf nodes, non-leaf nodes, or both. An aggregated dependency graph is generated from the user-specified model architecture. A presentation is generated of the aggregated dependency graph for the model architecture, wherein the presentation displays aggregated dependencies between the user-selected nodes of the model architecture.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: August 9, 2016
    Assignee: Semmle Limited
    Inventors: Luke James Cartey, Joshua George Hale
  • Patent number: 9372670
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for relocating template dependencies. One of the methods includes determining that dependencies in a dependency graph include a first dependency of a first node representing the first software element that includes a usage of a template parameterized by a type on a second node representing a second software element that is or occurs within a definition of the template, and a second dependency of the second node representing second software element on a third node representing the third software element that defines the type. In response, the dependency graph is modified including generating a new node in the dependency graph, the new node representing the instantiation of the template with the type, adding a new first dependency from the first node to the new node, and adding a new second dependency from the new node to the third node.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: June 21, 2016
    Inventors: Luke James Cartey, Joshua George Hale, Geoffrey White
  • Patent number: 9361077
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes processing selected software elements as represented by a raw dependency graph and a hierarchy graph to generate data representing an aggregated dependency graph, the aggregated dependency graph having nodes representing the selected software elements and aggregated dependencies between one or more of the selected software elements, wherein each aggregated dependency between a pair of the selected software elements represents that a first software element of the pair, or a descendant of the first software element according to the hierarchy graph, depends, according to the raw dependency graph, on a second software element of the pair or a descendant of the second software element according to the hierarchy graph. The data representing the aggregated dependency graph is provided in response to the request.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: June 7, 2016
    Inventors: Joshua George Hale, Luke James Cartey, Geoffrey White
  • Patent number: 9323644
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a query that defines a dependency between the software elements in a project. Searching a database to identify matching source software elements having the one or more source attributes and target software elements having the one or more target attributes of the query. Identifying pairs of matching source software elements and matching target software elements having the specified relationship, and generating, for each pair of matching source software elements and matching target software elements having the specified relationship, a new dependency in a raw dependency graph, the new dependency being a dependency from a source software element of the pair to the target software element of the pair.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: April 26, 2016
    Inventors: Joshua George Hale, Luke James Cartey, Geoffrey White