Patents by Inventor Cary L. Bates

Cary L. Bates 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: 9684584
    Abstract: The present disclosure relates to maintaining assertions in an integrated development environment (IDE) tool. According to one embodiment, while the IDE tool is compiling the source code of a development project, the IDE tool generates at least a first compiler warning. The first compiler warning generally corresponds to at least one line of source code in a first source code component of the development project. A first set of assertions to add to the source code of the development project is determined based on the line of source code that resulted in the first compiler warning. The IDE tool adds the first set of assertions to the source code of the development project. The first set of assertions are compiled as part of the source code of the development project.
    Type: Grant
    Filed: December 31, 2014
    Date of Patent: June 20, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9678855
    Abstract: The present disclosure relates to maintaining assertions in an integrated development environment (IDE) tool. According to one embodiment, while the IDE tool is compiling the source code of a development project, the IDE tool generates at least a first compiler warning. The first compiler warning generally corresponds to at least one line of source code in a first source code component of the development project. A first set of assertions to add to the source code of the development project is determined based on the line of source code that resulted in the first compiler warning. The IDE tool adds the first set of assertions to the source code of the development project. The first set of assertions are compiled as part of the source code of the development project.
    Type: Grant
    Filed: December 30, 2014
    Date of Patent: June 13, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20170139953
    Abstract: Embodiments of the present invention provide methods, program products, and systems for locating an unknown location by searching known geographical indicators. Embodiments of the present invention can be used to receive a search query for an unknown location. The search query can comprise one or more symbols denoting geographical indicators representative of the unknown location. Embodiments of the present invention can be used to locate unknown locations by searching for a location that matches the one or more symbols representative of the unknown location and returning results that match the received search query.
    Type: Application
    Filed: November 13, 2015
    Publication date: May 18, 2017
    Inventors: Francis S. Arokiaraj, Cary L. Bates, Premananda Mohapatra, Sachin M. Nayak, Sreenivasulu Valmeti
  • Patent number: 9639478
    Abstract: A method for controlling access to a memory of a computer system configured with at least one logical partition may include receiving a first request to map a first page of the memory, the request identifying a first requester. A first logical partition associated with the first page may be determined. It may be determined that an attribute of the first logical partition limits access to individual pages of the first logical partition to a single requester, and that the first page is available to be mapped to a requester. The first page may be mapped to the first requester and a flag indicating that the first page is unavailable for an additional mapping may be set. The first request may be from a device driver on behalf of an input/output adapter, as the first requester, to use the first page in a direct memory access transfer.
    Type: Grant
    Filed: January 17, 2014
    Date of Patent: May 2, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9632908
    Abstract: Techniques are described for a run to end of execution pattern in a software debugger. In one example, a method includes identifying a pattern of stop events in a program. The method further includes executing the program in a debugger, wherein executing the program includes encountering a stop event, determining if the stop event is part of the pattern of stop events, and ignoring the stop event in response to determining that the stop event is part of the pattern of stop events.
    Type: Grant
    Filed: January 4, 2016
    Date of Patent: April 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Brian R. Muras
  • Patent number: 9626281
    Abstract: A computer implemented method for identifying program flow in a computer program, executing in a debugger on at least one processor, subsequent to suspending execution of the computer program at a user breakpoint can include suspending execution of the computer program at a first user breakpoint, setting, by the debugger, one or more tracking breakpoints in one or more routines that can continue execution from the first user breakpoint, then resuming execution of the computer program. The method may be continued by suspending execution of the computer program at a second user breakpoint after processing by the at least one processor at least one instruction of the computer program. The method may further include determining whether to provide an indicator to indicate that at least one of the one or more tracking breakpoints was hit during the executing, and providing the indicator in response to determining to provide the indicator.
    Type: Grant
    Filed: June 10, 2015
    Date of Patent: April 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20170102981
    Abstract: In an approach for dynamically instrumenting a program at runtime, a processor identifies a sequence of memory related operations from an instruction stream, wherein the sequence includes at least a first memory related operation and a second memory related operation. A processor instruments the first memory related operation. A processor detects an error at the first memory related operation based on the instrumentation of the first memory related operation. A processor, responsive to detecting the error at the first memory related operation, instruments at least the second memory related operation.
    Type: Application
    Filed: October 13, 2015
    Publication date: April 13, 2017
    Inventors: Cary L. Bates, John D. Rotramel
  • Publication number: 20170102990
    Abstract: In an approach for dynamically instrumenting a program at runtime, a processor identifies a sequence of memory related operations from an instruction stream, wherein the sequence includes at least a first memory related operation and a second memory related operation. A processor instruments the first memory related operation. A processor detects an error at the first memory related operation based on the instrumentation of the first memory related operation. A processor, responsive to detecting the error at the first memory related operation, instruments at least the second memory related operation.
    Type: Application
    Filed: June 15, 2016
    Publication date: April 13, 2017
    Inventors: Cary L. Bates, John D. Rotramel
  • Patent number: 9619369
    Abstract: Disclosed aspects include identifying basic blocks of a program. For each basic block, the compiler inserts an identifier that includes the function name, and is coupled with a counter variable. In response to generating the identifier coupled with the counter variable, the program is compiled. During program execution, the counter value is incremented in response to a call of the basic block when executing the program. In response to incrementing the counter value, the counter value coupled with the identifier is displayed.
    Type: Grant
    Filed: May 19, 2015
    Date of Patent: April 11, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9600156
    Abstract: A mechanism is provided for enhancing a selection region for select information associated within a document. A document is analyzed to determine one or more pieces of information in the document that are likely to be selected by the user, wherein the one or more pieces of information are less than all of the information in the document. Responsive to the document failing to have been analyzed before, a selection region associated with each piece of information in the one or more pieces of information is enlarged by a first predetermined size amount thereby forming a respective region enlargement value for each piece of information in the one or more pieces of information. The region enlargement value for each piece of information in the one or more pieces of information is then recorded.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Megan D. Kostick
  • Patent number: 9594667
    Abstract: Methods to discover weak consistency errors in an application, by executing, by a debugger, a first thread of the application, by, determining that a first instruction in the first thread specifies to store a first value at a first memory address, setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread, executing the first instruction to store the first value at the first memory address, and setting the first value as a new value for the first memory address in the container for the first thread. The debugger then executes a second thread of the application, by restoring old values in the containers for all other threads and restoring a new value for each memory address specified in a container for the second thread to its respective memory address.
    Type: Grant
    Filed: December 11, 2014
    Date of Patent: March 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9594666
    Abstract: Systems, methods, and computer program products to discover weak consistency errors in an application, by executing, by a debugger, a first thread of the application, by, determining that a first instruction in the first thread specifies to store a first value at a first memory address, setting a current value stored in the first memory address as an old value for the first memory address in a container for the first thread, executing the first instruction to store the first value at the first memory address, and setting the first value as a new value for the first memory address in the container for the first thread. The debugger then executes a second thread of the application, by restoring old values in the containers for all other threads and restoring a new value for each memory address specified in a container for the second thread to its respective memory address.
    Type: Grant
    Filed: October 9, 2014
    Date of Patent: March 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9594669
    Abstract: Disclosed aspects include identifying basic blocks of a program. For each basic block, the compiler inserts an identifier that includes the function name, and is coupled with a counter variable. In response to generating the identifier coupled with the counter variable, the program is compiled. During program execution, the counter value is incremented in response to a call of the basic block when executing the program. In response to incrementing the counter value, the counter value coupled with the identifier is displayed.
    Type: Grant
    Filed: April 30, 2015
    Date of Patent: March 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9575831
    Abstract: An apparatus and method detect the use of stale data values due to weak consistency between parallel threads on a computer system. A consistency error detection mechanism uses object code injection to build a consistency error detection table during the operation of an application. When the application is paused, the consistency error detection mechanism uses the consistency error detection table to detect consistency errors where stale data is used by the application. The consistency error detection mechanism alerts the user/programmer to the consistency errors in the application program.
    Type: Grant
    Filed: September 16, 2014
    Date of Patent: February 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20170039131
    Abstract: Method and apparatus for enhancing an executable is disclosed herein. In one embodiment, the method includes instrumenting an executable with additional program code to detect run-time errors, and while running the instrumented executable within a debug environment generating the run-time errors detected by the additional program code, upon reaching a breakpoint, identifying any of the run-time errors which occurred while executing a function in which the breakpoint is located, and transmitting an indication of the identified run-time errors to the debugging environment.
    Type: Application
    Filed: August 4, 2015
    Publication date: February 9, 2017
    Inventors: Cary L. BATES, Lee HELGESON, Justin K. KING, Michelle A. SCHLICHT
  • Publication number: 20170039132
    Abstract: Method and apparatus for enhancing an executable is disclosed herein. In one embodiment, the method includes instrumenting an executable with additional program code to detect run-time errors, and while running the instrumented executable within a debug environment generating the run-time errors detected by the additional program code, upon reaching a breakpoint, identifying any of the run-time errors which occurred while executing a function in which the breakpoint is located, and transmitting an indication of the identified run-time errors to the debugging environment.
    Type: Application
    Filed: August 25, 2015
    Publication date: February 9, 2017
    Inventors: Cary L. BATES, Lee HELGESON, Justin K. KING, Michelle A. SCHLICHT
  • Patent number: 9553893
    Abstract: A secure messaging system and method includes receiving an encrypted message, the message having been encrypted using a token of a corresponding pervasive device; wirelessly verifying the presence of the pervasive device; and, if the presence can be verified, decrypting the message using the token. The verification step can include the steps of establishing a wireless link with the pervasive device; and, querying the pervasive device over the wireless link. The establishing step can include the step of establishing a Bluetooth link with the pervasive device. Furthermore, the querying step can include the step of requesting geographic coordinates which locate the pervasive device.
    Type: Grant
    Filed: January 5, 2009
    Date of Patent: January 24, 2017
    Assignee: International Business Machines Corporation
    Inventors: William G. Barrus, Cary L. Bates, Robert J. Crenshaw, Paul R. Day
  • Patent number: 9513884
    Abstract: Thermal-aware source code compilation including: receiving, by a compiler, an identification of a target computing system, the identification of the target computing system specifying temperature sensors that measure temperature of a memory module; compiling the source code into an executable application including inserting in the executable application computer program instructions for thermal-aware execution, the computer program instructions, when executed on the target computing system, carry out the steps of: retrieving temperature measurements of one or more of the target computing system's temperature sensors; determining, in real-time in dependence upon the temperature measurements, whether a memory module is overheated; if a memory module is overheated, entering a thermal-aware execution state including, for each memory allocation in the executable application, allocating memory on a different memory module than the overheated memory module; and upon the temperature sensors indicating the memory modu
    Type: Grant
    Filed: August 16, 2011
    Date of Patent: December 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Publication number: 20160350200
    Abstract: A computer-implemented method of reducing impact of performance data gathering on execution of instrumented code comprises gathering respective performance data for each of a plurality of routines in the instrumented code over a plurality of execution instances of the instrumented code. The method also comprises determining that the gathered performance data for the at least one selected routine follows an identified pattern for at least one selected routine from the plurality of routines and, in response to determining that the at least one selected routine follows an identified pattern, removing instrumentation associated with the at least one selected routine.
    Type: Application
    Filed: May 26, 2015
    Publication date: December 1, 2016
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160321158
    Abstract: Disclosed aspects include identifying basic blocks of a program. For each basic block, the compiler inserts an identifier that includes the function name, and is coupled with a counter variable. In response to generating the identifier coupled with the counter variable, the program is compiled. During program execution, the counter value is incremented in response to a call of the basic block when executing the program. In response to incrementing the counter value, the counter value coupled with the identifier is displayed.
    Type: Application
    Filed: May 19, 2015
    Publication date: November 3, 2016
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht