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: 20130339929Abstract: 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: ApplicationFiled: June 14, 2012Publication date: December 19, 2013Applicant: MICROSOFT CORPORATIONInventors: Francesco Logozzo, Thomas Ball
-
Patent number: 8393110Abstract: 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: GrantFiled: April 2, 2007Date of Patent: March 12, 2013Inventor: Thomas Ball
-
Patent number: 8264417Abstract: 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: GrantFiled: August 12, 2009Date of Patent: September 11, 2012Assignee: The United States of America as represented by the Secretary of the NavyInventors: Jeffrey M. Snow, Thomas Ball
-
Publication number: 20100220024Abstract: 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: ApplicationFiled: August 12, 2009Publication date: September 2, 2010Inventors: Jeffrey M. Snow, Thomas Ball
-
Publication number: 20070169400Abstract: 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: ApplicationFiled: April 2, 2007Publication date: July 26, 2007Inventor: Thomas Ball
-
Publication number: 20070168981Abstract: 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: ApplicationFiled: January 6, 2006Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: Carlos Pacheco, Shuvendu Lahiri, Thomas Ball
-
Publication number: 20070005633Abstract: 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: ApplicationFiled: July 1, 2005Publication date: January 4, 2007Applicant: Microsoft CorporationInventors: Thomas Ball, Shuvendu Lahiri
-
Publication number: 20060075450Abstract: 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: ApplicationFiled: October 6, 2004Publication date: April 6, 2006Inventors: David Haas, Richard Kucsan, Thomas Ball, Douglas Greaser
-
Publication number: 20050235257Abstract: 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: ApplicationFiled: June 17, 2005Publication date: October 20, 2005Applicant: Microsoft CorporationInventors: Thomas Ball, Sriram Rajamani, Todd Millstein, Rupak Majumdar
-
Publication number: 20050226635Abstract: 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: ApplicationFiled: April 7, 2004Publication date: October 13, 2005Inventors: Stanislav Ionov, Thomas Ball, Peter Chu, William Hoult
-
Publication number: 20050226624Abstract: 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: ApplicationFiled: April 7, 2004Publication date: October 13, 2005Inventors: Stanislav Ionov, Thomas Ball, Peter Chu, William Hoult
-
Publication number: 20050229044Abstract: 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: ApplicationFiled: May 12, 2004Publication date: October 13, 2005Applicant: Microsoft CorporationInventor: Thomas Ball
-
Publication number: 20050149904Abstract: 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: ApplicationFiled: November 1, 2004Publication date: July 7, 2005Applicant: Microsoft CorporationInventors: Thomas Ball, Sriram Rajamani
-
Publication number: 20050102886Abstract: 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: ApplicationFiled: August 7, 2003Publication date: May 19, 2005Inventor: Thomas Ball