Patents by Inventor K. Leino

K. Leino 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).

  • Publication number: 20070169019
    Abstract: A program verification process begins by converting a language of the program from a first language into an intermediate language representation. The loops of the program are eliminated. The program is converted from the intermediate language representation into a passive form. Dominators for the passive form of the program are determined. A verification condition is generated from the passive form of the program. The verification condition is structured according to the computed dominators such that when a theorem prover identifies a potential error, portions of the passive form of the program irrelevant to the potential error are ignored.
    Type: Application
    Filed: January 19, 2006
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: K. Leino, Michael Barnett
  • Publication number: 20060236305
    Abstract: A local analysis analyzes the values of objects paying attention to program flow and a global analysis analyses the object independent of the flow. The local and global analysis interact to infer the invariants of objects used within a computer program. The local analysis is given the known invariants of an object by the global analysis when the object transitions from a valid to a mutable state. It then keeps track of all of the values of objects encountered until the object transitions from mutable to a valid state, when the information known to the local analysis is passed to the global analysis, which may use the new object values to add to the current list of invariants for the given object.
    Type: Application
    Filed: April 15, 2005
    Publication date: October 19, 2006
    Applicant: Microsoft Corporation
    Inventors: Bor-Yuh Chang, K. Leino
  • Publication number: 20060155905
    Abstract: Various new and non-obvious systems and methods for ensuring within a multi-threaded environment that object fields hold legal values are disclosed. One of the disclosed embodiments is a method for a thread locking the top object of an object hierarchy. The thread then gains ownership of the locked object and any children of the locked object, by successively unpacking child objects, allowing the thread to write to any unpacked object field. By owning the top hierarchical object, the thread also achieves transitive ownership to any descendants of the object, allowing the thread to read any object fields which it transitively owns. When a thread locks an object within this exemplary embodiment all other threads are denied access to the locked object and to any descendants of the locked object.
    Type: Application
    Filed: January 11, 2005
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: K. Leino, Wolfram Schulte, Bart Jacobs