Patents by Inventor Martin Vechev

Martin Vechev 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: 20120246662
    Abstract: Automatic verification of deteiminism in structured parallel programs includes sequentially establishing whether code for each of a plurality of tasks of the structured parallel program is independent, outputting sequential proofs corresponding to the independence of the code for each of the plurality of tasks and deteimining whether all memory locations accessed by parallel tasks of the plurality of tasks are independent based on the sequential proofs.
    Type: Application
    Filed: March 23, 2011
    Publication date: September 27, 2012
    Inventors: Martin Vechev, Eran Yahav, Raghavan Raman, Sarkar Vivek
  • Patent number: 8266394
    Abstract: There are provided methods for single-owner multi-consumer work queues for repeatable tasks. A method includes permitting a single owner thread of a single owner, multi-consumer, work queue to access the work queue using atomic instructions limited to only a single access and using non-atomic operations. The method further includes restricting the single owner thread from accessing the work queue using atomic instructions involving more than one access. The method also includes synchronizing amongst other threads with respect to their respective accesses to the work queue.
    Type: Grant
    Filed: July 14, 2008
    Date of Patent: September 11, 2012
    Assignee: International Business Machines Corporation
    Inventors: Maged M. Michael, Vijay Anand Saraswat, Martin Vechev
  • Publication number: 20120210322
    Abstract: There are provided methods for single-owner multi-consumer work queues for repeatable tasks. A method includes permitting a single owner thread of a single owner, multi-consumer, work queue to access the work queue using atomic instructions limited to only a single access and using non-atomic operations. The method further includes restricting the single owner thread from accessing the work queue using atomic instructions involving more than one access. The method also includes synchronizing amongst other threads with respect to their respective accesses to the work queue.
    Type: Application
    Filed: April 20, 2012
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Maged M. Michael, Vijay Anand Saraswat, Martin Vechev
  • Publication number: 20120179650
    Abstract: A snapshot of an application executing on a processor is taken in response to detecting an assertion in a running application. The assertion is evaluated based on the snapshot asynchronously while allowing the application to continue executing. The results of the assertion evaluation are returned to the application.
    Type: Application
    Filed: January 11, 2011
    Publication date: July 12, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Martin Vechev, Eran Yahav
  • Publication number: 20120174229
    Abstract: A method is disclosed that includes tracking untrusted inputs through an executing program into a sink, the tracking including maintaining context of the sink as strings based on the untrusted inputs flow into the sink. The method also includes, while tracking, in response to a string based on an untrusted input being about to flow into the sink and a determination the string could lead to an attack if the string flows into a current context of the sink, endorsing the string using an endorser selected based at least on the current context of the sink, and providing the endorsed string to the sink. Computer program products and apparatus are also disclosed.
    Type: Application
    Filed: January 3, 2011
    Publication date: July 5, 2012
    Applicant: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp, Martin Vechev
  • Publication number: 20110295789
    Abstract: Methods and apparatus are provided for a context-sensitive dynamic bloat detection system. A profiling tool is disclosed that selects an appropriate collection implementation for a given application. The disclosed profiling tool uses semantic profiling together with a set of collection selection rules to make an informed choice. A collection implementation, such as an abstract data entity, is selected for a given program by obtaining collection usage statistics from the program. The collection implementation is selected based on the collection usage statistics using a set of collection selection rules. The collection implementation is one of a plurality of interchangeable collection implementations having a substantially similar logical behavior for substantially all collection types. The collection usage statistics indicate how the collection implementation is used in the given program. One or more suggestions can be generated for improving the collection allocated at a particular allocation context.
    Type: Application
    Filed: May 28, 2010
    Publication date: December 1, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ohad Shacham, Martin Vechev, Eran Yahav
  • Publication number: 20110296424
    Abstract: A framework is provided for automatic inference of memory fences in concurrent programs. A method is provided for generating a set of ordering constraints that prevent executions of a program violating a specification. One or more incoming avoidable transitions are identified for a state and one or more ordering constraints are refined for the state. The set of ordering constraints are generated by taking a conjunction of ordering constraints for all states that violate the specification. One or more fence locations can optionally be selected based on the generated set of ordering constraints.
    Type: Application
    Filed: May 28, 2010
    Publication date: December 1, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Kuperstein, Martin Vechev, Eran Yahav
  • Publication number: 20110258606
    Abstract: Given a program P, a specification S, and an abstraction function ?, verification determines whether P satisfies the specification S under the abstraction ?. If not, a trace T that violate the specification is selected, and either the abstraction ? is refined or a constraint that avoids the trace T is computed and added to a set of constraints. The set of constraints are used to modify the program P.
    Type: Application
    Filed: April 16, 2010
    Publication date: October 20, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Martin Vechev, Eran Yahav, Greta Yorsh
  • Publication number: 20110087927
    Abstract: Detecting defects in deployed systems, in one aspect, identify one or more monitoring agents used in a computer program. Total execution metric of the computer program and execution metric associated with the one or more monitoring agents are measured and the measure execution metric is compared with a specified overhead criteria. The execution of the one or more monitoring agents is adjusted based on the comparing step while the computer program is executing to meet the specified overhead criteria.
    Type: Application
    Filed: October 14, 2009
    Publication date: April 14, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthew R. Arnold, Martin Vechev, Eran Yahav
  • Publication number: 20110087926
    Abstract: A programming language support for debugging heap related errors includes one or more queries for determining one or more global properties associated with use of the area by the program. The one or more queries may be executed in parallel or concurrently and dynamically utilize available number of cores.
    Type: Application
    Filed: October 14, 2009
    Publication date: April 14, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthew R. Arnold, Martin Vechev, Eran Yahav
  • Publication number: 20100011362
    Abstract: There are provided methods for single-owner multi-consumer work queues for repeatable tasks. A method includes permitting a single owner thread of a single owner, multi-consumer, work queue to access the work queue using atomic instructions limited to only a single access and using non-atomic operations. The method further includes restricting the single owner thread from accessing the work queue using atomic instructions involving more than one access. The method also includes synchronizing amongst other threads with respect to their respective accesses to the work queue.
    Type: Application
    Filed: July 14, 2008
    Publication date: January 14, 2010
    Inventors: Maged M. Michael, Vijay Anand Saraswat, Martin Vechev
  • Publication number: 20070022149
    Abstract: A method is provided for garbage collection in a computer system that executes at least one mutator. The collector scans objects stored in a memory of the computer system so as to create a wavefront behind which are the objects that have already been scanned. The collector records progress information that indicates the collector's progress in scanning the fields of at least one of the objects, and the behavior of the mutator is changed when mutating the one object based on the progress information that is currently recorded. In another method, the collector scans objects stored in a memory of the computer system so as to create a wavefront behind which are the objects that have already been scanned, and reference counts are maintained behind the wavefront such that each of the reference counts indicates the number of pointers from already scanned fields of objects to unscanned objects.
    Type: Application
    Filed: July 22, 2005
    Publication date: January 25, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Bacon, Perry Cheng, David Grove, Martin Vechev
  • Publication number: 20060294165
    Abstract: Disclosed are a partial heap garbage collector, and a partial heap garbage collection method, that during collection checks the time remaining (or equivalently the time taken so far, or the work done so far) to complete the partial heap collection. In a preferred embodiment, the partial heap collection is guaranteed to complete within a fixed time interval. For example, this guarantee may be obtained by applying a worst-case execution time (WCET) and sizing a nursery so that complete evacuation of the nursery can always be achieved on time. As an alternative, a technique, referred to as syncopation, may be used to allow generational collection to be used despite variance in program behavior over the short time scales in which a nursery can be collected. Syncopation may be accomplished via allocation control or via collection control.
    Type: Application
    Filed: June 10, 2005
    Publication date: December 28, 2006
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Bacon, Perry Chang, David Grove, Martin Vechev