Patents by Inventor Andrew Craik

Andrew Craik 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: 10891210
    Abstract: An approach is provided in which an information handling system selects an assumption point in a software program corresponding to a compile-time assumption made by a compiler, and selects an assumption violation point in the software program corresponding to a location at which the compile-time assumption can be violated at runtime. The information handling system propagates backwards in the software program from the assumption point and reaches the assumption violation point. The information handling system determines that the assumption point corresponds to a first method and the assumption violation point corresponds to a second method that is different from the first method, and inserts a conditional transition in the software program at the assumption violation point. The information handling system executes a compiled version of the software program that includes the conditional transition.
    Type: Grant
    Filed: July 16, 2019
    Date of Patent: January 12, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andrew Craik, Joseph Devin Micheal Papineau, Vijay Sundaresan
  • Patent number: 10621086
    Abstract: Determining whether to perform atomic or conventional reference counting is provided. A single bit of a reference count corresponding to a reference-counted resource is read to determine whether to atomic reference counting is to be performed. It is determined whether the single bit of the reference count is set. In response to determining that the single bit is set, an atomic operation for atomic maintenance of the reference count corresponding to the reference-counted resource is performed by adjusting the reference count by a value of two. In response to determining that the single bit is not set, a conventional adjustment operation is performed for maintenance of the reference count corresponding to the reference-counted resource.
    Type: Grant
    Filed: October 30, 2017
    Date of Patent: April 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew Craik, Younes Manton, Vijay Sundaresan, Yi Zhang
  • Patent number: 10592387
    Abstract: An approach is provided in which an information handling system selects a first point in a software program corresponding to a compile-time assumption made by a compiler. The information handling system then selects a set of second points in the software program corresponding to a set of locations at which the compile-time assumption can be violated at runtime. Next, the information handling system starts at the first point and propagates backwards in the software program to identify one or more of the second points that are reached from the backwards propagation. The information handling system then inserts conditional transitions in the software program at each of the identified assumption violation points and executes a compiled version of the software program, resulting in an evaluation of the compile-time assumption at the conditional transitions.
    Type: Grant
    Filed: January 2, 2018
    Date of Patent: March 17, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew Craik, Joseph Devin Micheal Papineau, Vijay Sundaresan
  • Publication number: 20190340102
    Abstract: An approach is provided in which an information handling system selects an assumption point in a software program corresponding to a compile-time assumption made by a compiler, and selects an assumption violation point in the software program corresponding to a location at which the compile-time assumption can be violated at runtime. The information handling system propagates backwards in the software program from the assumption point and reaches the assumption violation point. The information handling system determines that the assumption point corresponds to a first method and the assumption violation point corresponds to a second method that is different from the first method, and inserts a conditional transition in the software program at the assumption violation point. The information handling system executes a compiled version of the software program that includes the conditional transition.
    Type: Application
    Filed: July 16, 2019
    Publication date: November 7, 2019
    Inventors: Andrew Craik, Joseph Devin Micheal Papineau, Vijay Sundaresan
  • Publication number: 20190205240
    Abstract: An approach is provided in which an information handling system selects a first point in a software program corresponding to a compile-time assumption made by a compiler. The information handling system then selects a set of second points in the software program corresponding to a set of locations at which the compile-time assumption can be violated at runtime. Next, the information handling system starts at the first point and propagates backwards in the software program to identify one or more of the second points that are reached from the backwards propagation. The information handling system then inserts conditional transitions in the software program at each of the identified assumption violation points and executes a compiled version of the software program, resulting in an evaluation of the compile-time assumption at the conditional transitions.
    Type: Application
    Filed: January 2, 2018
    Publication date: July 4, 2019
    Inventors: Andrew Craik, Joseph Devin Micheal Papineau, Vijay Sundaresan
  • Publication number: 20190129846
    Abstract: Determining whether to perform atomic or conventional reference counting is provided. A single bit of a reference count corresponding to a reference-counted resource is read to determine whether to atomic reference counting is to be performed. It is determined whether the single bit of the reference count is set. In response to determining that the single bit is set, an atomic operation for atomic maintenance of the reference count corresponding to the reference-counted resource is performed by adjusting the reference count by a value of two. In response to determining that the single bit is not set, a conventional adjustment operation is performed for maintenance of the reference count corresponding to the reference-counted resource.
    Type: Application
    Filed: October 30, 2017
    Publication date: May 2, 2019
    Inventors: Andrew Craik, Younes Manton, Vijay Sundaresan, Yi Zhang
  • Patent number: 10173265
    Abstract: A method for producing small metal alloy nanoparticles of a first metal and a second metal, comprising: mixing, at room temperature in air, a first aqueous solution of first and second metal nanoparticle precursor species in a first molar ratio of the first metal to the second metal; mixing a separate organic ligand into the first aqueous solution; adding a reducing agent to the first aqueous solution; and aging the first aqueous solution for a first period. The method may further comprise characterizing by photoluminescence or other property the metal alloy nanoparticles from the first aqueous solution and/or from a second aqueous solution of first and second metal nanoparticle precursor species in a second molar ratio of the first metal to the second metal.
    Type: Grant
    Filed: March 24, 2014
    Date of Patent: January 8, 2019
    Assignee: University of Pittsburgh—Of the Commonwealth System of Higher Education
    Inventors: Jill Erin Millstone, Christopher Michael Andolina, Andrew Craik Dewar
  • Publication number: 20160288212
    Abstract: A method for producing small metal alloy nanoparticles of a first metal and a second metal, comprising: mixing, at room temperature in air, a first aqueous solution of first and second metal nanoparticle precursor species in a first molar ratio of the first metal to the second metal; mixing a separate organic ligand into the first aqueous solution; adding a reducing agent to the first aqueous solution; and aging the first aqueous solution for a first period. The method may further comprise characterizing by photoluminescence or other property the metal alloy nanoparticles from the first aqueous solution and/or from a second aqueous solution of first and second metal nanoparticle precursor species in a second molar ratio of the first metal to the second metal.
    Type: Application
    Filed: March 24, 2014
    Publication date: October 6, 2016
    Inventors: Jill Erin Millstone, Christopher Michael Andolina, Andrew Craik Dewar