Patents by Inventor Thomas Ball

Thomas Ball 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: 20130339929
    Abstract: A method and system for repairing a program are provided herein. The method includes statically analyzing a code of a program via a modular program verifier and determining semantic errors within the code of the program based on the static analysis. The method also includes inferring verified repairs to the code of the program based on the semantic errors.
    Type: Application
    Filed: June 14, 2012
    Publication date: December 19, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Francesco Logozzo, Thomas Ball
  • Patent number: 8393110
    Abstract: A storage and transfer bag system are disclosed for use in tournament fishing competitions. A living fish can be stored in the storage bag, which is kept in a live well until the storage bag with living fish therein is placed in a transfer bag that is partially filled with water. The storage bag is made from a mesh fabric, enabling water to be drained from the storage bag. After draining the water from the storage bag, the storage bag and living fish are weighed, and the weight of the fish computed. The storage bag and living fish are then placed back into the transfer bag and transported to the lake or river or other body of water. The storage bag and living fish are removed from the transfer bag and the fish released without human contact.
    Type: Grant
    Filed: April 2, 2007
    Date of Patent: March 12, 2013
    Inventor: Thomas Ball
  • Patent number: 8264417
    Abstract: An antenna structure and a method of propagating an electromagnetic (EM) wave with the antenna structure. The antenna structure comprises a first aperture antenna element and a second element inside the first element adapted to strengthen the directivity of the wave.
    Type: Grant
    Filed: August 12, 2009
    Date of Patent: September 11, 2012
    Assignee: The United States of America as represented by the Secretary of the Navy
    Inventors: Jeffrey M. Snow, Thomas Ball
  • Publication number: 20100220024
    Abstract: An antenna structure and a method of propagating an electromagnetic (EM) wave with the antenna structure. The antenna structure comprises a first aperture antenna element and a second element inside the first element adapted to strengthen the directivity of the wave.
    Type: Application
    Filed: August 12, 2009
    Publication date: September 2, 2010
    Inventors: Jeffrey M. Snow, Thomas Ball
  • Publication number: 20070169400
    Abstract: A storage and transfer bag system are disclosed for use in tournament fishing competitions. A living fish can be stored in the storage bag, which is kept in a live well until the storage bag with living fish therein is placed in a transfer bag that is partially filled with water. The storage bag is made from a mesh fabric, enabling water to be drained from the storage bag. After draining the water from the storage bag, the storage bag and living fish are weighed, and the weight of the fish computed. The storage bag and living fish are then placed back into the transfer bag and transported to the lake or river or other body of water. The storage bag and living fish are removed from the transfer bag and the fish released without human contact.
    Type: Application
    Filed: April 2, 2007
    Publication date: July 26, 2007
    Inventor: Thomas Ball
  • Publication number: 20070168981
    Abstract: An application is tested by using the public interface to determine the possible class types, choosing a class type at random, and then finding a constructor which creates an object of that class type. A method that takes the object is selected, and input values for the method are selected. The object is then created using the constructor and any other required methods. The selected method is called on the object using the selected inputs. If calling the method with the object changes the state of the object or an associated object, then the object and method are extended, sometimes by adding another method call to the existing method call(s), creating a new plan, and the new plan is then tested. If the state is not changed, then the object and the method are not further tested.
    Type: Application
    Filed: January 6, 2006
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: Carlos Pacheco, Shuvendu Lahiri, Thomas Ball
  • Publication number: 20070005633
    Abstract: Predicate abstraction techniques and tools. Using symbolic decision procedures, predicate abstractions for computer programs are generated based on a set of predicates representing observations of expected behavior of the program. The set of predicates may be generated by an automatic program analysis tool or may be provided a user based on the user's observations. The predicate abstraction process may employ binary decision diagrams. Two or more symbolic decision procedures (e.g., for different kinds of program logic) can be combined to form a combined symbolic decision procedure to be used for predicate abstraction. A data structure can be used to track derived predicates during predicate abstraction.
    Type: Application
    Filed: July 1, 2005
    Publication date: January 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Thomas Ball, Shuvendu Lahiri
  • Publication number: 20060075450
    Abstract: Devices, systems, and methods for providing data, especially video signal data, to a remote location using low frequency bandwidths is disclosed. Transmission of low frequency bandwidths from a transmitting unit to a receiving unit located up to about 15 miles line-of-sight is possible. Adding one or more bridge antennas between the transmitting and receiving units can increase the transmission distance to hundreds of miles line-of-sight. At the receiving unit, data is retransmitted to a facility network for display and/or storage. Control of data generating devices can also be controlled remotely from the remote location or to Internet uses wherever they may be.
    Type: Application
    Filed: October 6, 2004
    Publication date: April 6, 2006
    Inventors: David Haas, Richard Kucsan, Thomas Ball, Douglas Greaser
  • Publication number: 20050235257
    Abstract: Described is a method that enables the automatic generation of a boolean program that is a predicate abstraction of a program written using a general programming language. The method is capable of abstracting code statements within the program that include procedure calls, assignments, goto statements, conditionals, and pointers. In accordance with the invention, predicates of interest are identified for each code statement in the program. For each particular code statement, the process generates predicate statements that describe an effect that the statement has on the predicates of interest. If the effect of a particular code statement is indeterminable, non-deterministic predicate statements are included in the boolean program to model the indeterminable nature of the code statement. In addition, if a particular code statement includes a procedure call, the arguments and return value of the procedure call are translated to associated predicates in the calling context.
    Type: Application
    Filed: June 17, 2005
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Ball, Sriram Rajamani, Todd Millstein, Rupak Majumdar
  • Publication number: 20050226635
    Abstract: Systems and methods are disclosed herein to provide analog-to-digital converter techniques. For example, in accordance with an embodiment of the present invention, an analog-to-digital converter architecture is disclosed that utilizes optical techniques to convert an analog electrical signal to a digital electrical signal.
    Type: Application
    Filed: April 7, 2004
    Publication date: October 13, 2005
    Inventors: Stanislav Ionov, Thomas Ball, Peter Chu, William Hoult
  • Publication number: 20050226624
    Abstract: Systems and methods are disclosed herein to provide various optical techniques. For example, in accordance with an embodiment of the present invention, a pulse position modulation discriminator architecture is disclosed for discriminating temporal positions of PPM-encoded optical pulses by converting them from time modulated to frequency modulated signals. As another example, time division multiplexed optical signals may be translated to wavelength division multiplexed optical signals. One or more of the architectures disclosed herein may be implemented, for example, to provide PPM to FM or time to wavelength conversion for receiver or transmitter applications.
    Type: Application
    Filed: April 7, 2004
    Publication date: October 13, 2005
    Inventors: Stanislav Ionov, Thomas Ball, Peter Chu, William Hoult
  • Publication number: 20050229044
    Abstract: Techniques and tools for achieving improved test coverage in a finite program state space are described, such as a technique for selecting a set of predicates, calculating a set of possible predicate values, calculating a subset of the set of possible predicate values, and generating a test for the computer program based at least in part on the subset. The subset comprises an approximation (e.g., an under-approximation) of reachable states in the program. A superset of the set of possible predicate values also can be calculated; the superset comprises an over-approximation of the reachable states in the program. In another aspect, a Boolean abstraction of a program is generated, reachability analysis is performed based at least in part on the Boolean abstraction, and symbolic execution is performed to generate test data. The reachability analysis can include computing lower and/or upper bounds of reachable observable states.
    Type: Application
    Filed: May 12, 2004
    Publication date: October 13, 2005
    Applicant: Microsoft Corporation
    Inventor: Thomas Ball
  • Publication number: 20050149904
    Abstract: Methods are discussed that enhance program analysis. One aspect of the invention includes a method for checking a model of a program. The method includes a control-flow graph having vertices from the model, applying a transfer function to each vertex to form a set of path edges, and analyzing the set of path edges of a vertex. The set of path edges includes valuations that are implicitly represented so as to inhibit an undesired explosion in the valuations that would hinder the act of analyzing.
    Type: Application
    Filed: November 1, 2004
    Publication date: July 7, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Ball, Sriram Rajamani
  • Publication number: 20050102886
    Abstract: A mesh bag made of neoprylene or some other plastic, non-metallic mesh material, roughly rectangular in shape with three (3) zippered sides for protection and identification of sport fish. After the fish are caught, they are placed in identifiable mesh bags and placed in a live well. The bags serve to protect the fish and make them easily identifiable.
    Type: Application
    Filed: August 7, 2003
    Publication date: May 19, 2005
    Inventor: Thomas Ball