Patents by Inventor Justin K. King

Justin K. King 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: 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: 9563458
    Abstract: Embodiments disclosed herein generally include a computer-implemented method, computer program product, and system to facilitate offloaded and parallelized direct memory access (DMA) translation table operations. The method includes a hypervisor requesting a lease on an auxiliary parallel processing element assigned to a first virtual machine hosted by the hypervisor. The method further includes receiving a grant of the lease, whereby ownership of the auxiliary parallel processing element is transferred from the first virtual machine to the hypervisor. The method further includes, during the lease, providing a predefined program to execute on the auxiliary parallel processing element in order to perform a desired operation on the hypervisor DMA translation table and with parallelism. The method further includes, upon completion of the predefined program, terminating the lease by the hypervisor, whereby ownership of the auxiliary parallel processing element is returned to the first virtual machine.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: February 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Justin K. King
  • 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
  • Publication number: 20160321162
    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: April 30, 2015
    Publication date: November 3, 2016
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160314054
    Abstract: A pre-initialized value of contents of a memory location is identified. A load value of contents loaded from the memory location by execution of a first instruction that loads from the memory location is also identified. A comparison is made between the load value and the pre-initialized value. Based on the comparison, a determination is made that the load value and the pre-initialized value are the same. In response to this determination, it is indicated that the first instruction contains an uninitialized memory reference.
    Type: Application
    Filed: July 1, 2016
    Publication date: October 27, 2016
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160306734
    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: Application
    Filed: June 10, 2015
    Publication date: October 20, 2016
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160306733
    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: Application
    Filed: April 15, 2015
    Publication date: October 20, 2016
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160306729
    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.
    Type: Application
    Filed: June 24, 2015
    Publication date: October 20, 2016
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160306728
    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.
    Type: Application
    Filed: April 16, 2015
    Publication date: October 20, 2016
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9471463
    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.
    Type: Grant
    Filed: April 16, 2015
    Date of Patent: October 18, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9471464
    Abstract: Disclosed aspects include a debugger evaluating an expression. The expression has a debug element. Using dynamic analysis, a set of state information related to the debug element is identified. The set of state information can be generated external to the debugger and used within the debugger subsequent to being generated. Utilizing the set of state information, a tolerance parameter is selected. The tolerance parameter is for a conditional breakpoint linked with the debug element. In response to selecting the tolerance parameter, a triggering event for the conditional breakpoint may be detected. Based on the tolerance parameter, it may be determined to disregard the triggering event. Subsequently, the triggering event can be disregarded. Altogether, aspects of the disclosure provide a methodology for debug management that may provide performance or efficiency benefits.
    Type: Grant
    Filed: June 24, 2015
    Date of Patent: October 18, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9465686
    Abstract: A pre-initialized value of contents of a memory location is identified. A load value of contents loaded from the memory location by execution of a first instruction that loads from the memory location is also identified. A comparison is made between the load value and the pre-initialized value. Based on the comparison, a determination is made that the load value and the pre-initialized value are the same. In response to this determination, it is indicated that the first instruction contains an uninitialized memory reference.
    Type: Grant
    Filed: February 10, 2015
    Date of Patent: October 11, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9454461
    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: April 15, 2015
    Date of Patent: September 27, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20160266995
    Abstract: A pre-initialized value of contents of a memory location is identified. A load value of contents loaded from the memory location by execution of a first instruction that loads from the memory location is also identified. A comparison is made between the load value and the pre-initialized value. Based on the comparison, a determination is made that the load value and the pre-initialized value are the same. In response to this determination, it is indicated that the first instruction contains an uninitialized memory reference.
    Type: Application
    Filed: May 26, 2016
    Publication date: September 15, 2016
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9442823
    Abstract: A method for identifying code segments and associated software developers in a software development environment is disclosed. A software development tool detects a memory error in a first code segment. The software development tool associates the memory error with a first software developer that is associated with the first code segment. The software development tool identifies a second code segment related to the first code segment. The software development tool associates the memory error with a second software developer that is associated with the second code segment.
    Type: Grant
    Filed: November 24, 2014
    Date of Patent: September 13, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9430357
    Abstract: A pre-initialized value of contents of a memory location is identified. A load value of contents loaded from the memory location by execution of a first instruction that loads from the memory location is also identified. A comparison is made between the load value and the pre-initialized value. Based on the comparison, a determination is made that the load value and the pre-initialized value are the same. In response to this determination, it is indicated that the first instruction contains an uninitialized memory reference.
    Type: Grant
    Filed: April 6, 2015
    Date of Patent: August 30, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9424164
    Abstract: A method for identifying code segments and associated software developers in a software development environment is disclosed. A software development tool detects a memory error in a first code segment. The software development tool associates the memory error with a first software developer that is associated with the first code segment. The software development tool identifies a second code segment related to the first code segment. The software development tool associates the memory error with a second software developer that is associated with the second code segment.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: August 23, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9417986
    Abstract: Techniques are disclosed for classifying system library errors detected by a dynamic analysis tool executing in a first client of a plurality of clients. The dynamic analysis tool monitors an execution of an application. The dynamic analysis tool identifies one or more errors that are related to at least one of a plurality of system libraries called by the application during the execution. For each identified error, the dynamic analysis tool evaluates the error relative to error data observed in a dynamic analysis tool executing in the other clients, and flagging the error as an error that is not caused by a user based on the evaluation.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: August 16, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht