Patents by Inventor Ian Lynagh

Ian Lynagh 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: 10262269
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for evaluating recursive predicates and exiversal predicates. One of the methods includes receiving an expression having an exiversal quantifier that specifies a condition x and a condition y. The expression is transformed into a second expression having multiple recursive calls, the second expression having a first non-negated term with a first recursive call in the condition y, and a second negated term with a second recursive call in the condition y. The second expression is evaluated using evaluation predicates that include a single delta predicate that replaces only the recursive call in the first non-negated term to identify data elements in the relation having at least one attribute satisfying the condition x and the condition y, and, for each attribute of the data element satisfying the condition x, the attribute also satisfies the condition y.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: April 16, 2019
    Assignee: Semmle Limited
    Inventor: Ian Lynagh
  • Publication number: 20170061306
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing transitive closures of relations. One of the methods includes initializing the transitive closure F of an initial iteration with the tuples in another relation f. New first tuples and new second tuples are iteratively computed until no new first tuples are generated, including: generating new first tuples on each iteration by matching destination elements of tuples in the auxiliary relation of a previous iteration with source elements of tuples in the auxiliary relation of the previous iteration, generating second tuples on each iteration by matching destination elements of the new first tuples with source elements of tuples in F of the previous iteration, and adding the new first tuples and the new second tuples to F of a current iteration.
    Type: Application
    Filed: August 31, 2015
    Publication date: March 2, 2017
    Inventor: Ian Lynagh
  • Publication number: 20170061293
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for evaluating recursive predicates and exiversal predicates. One of the methods includes receiving an expression having an exiversal quantifier that specifies a condition x and a condition y. The expression is transformed into a second expression having multiple recursive calls, the second expression having a first non-negated term with a first recursive call in the condition y, and a second negated term with a second recursive call in the condition y. The second expression is evaluated using evaluation predicates that include a single delta predicate that replaces only the recursive call in the first non-negated term to identify data elements in the relation having at least one attribute satisfying the condition x and the condition y, and, for each attribute of the data element satisfying the condition x, the attribute also satisfies the condition y.
    Type: Application
    Filed: August 31, 2015
    Publication date: March 2, 2017
    Inventor: Ian Lynagh