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).

  • Publication number: 20150205587
    Abstract: Clients accessing cloud computing services are allocated respective virtual machines, each client specifying defining parameters for its virtual machine(s). A just-in-time compiler executing within a client's virtual machine optimizes the executable code it generates based at least in part, on the defining parameters of the virtual machine. During execution of an application using the just-in-time compiler, the compiler is notified of changes made to the defining parameters of the virtual machine. Responsive to such notification, the just-in-time compiler thereafter optimizes compiled code it generates for execution in the virtual machine as modified.
    Type: Application
    Filed: June 16, 2014
    Publication date: July 23, 2015
    Inventors: Cary L. Bates, Brian R. Muras
  • Patent number: 9069895
    Abstract: Methods, apparatuses, and computer program products for analyzing concurrent debugging sessions are provided. Embodiments include a first debugger initiating a conditional breakpoint in a first debug session of a first application. The conditional breakpoint stops execution of the first application based on a condition of a value of a variable of a second application. Embodiments also include the first debugger requesting and receiving the value of the variable from a second debugger. Embodiments also include the first debugger evaluating the condition of the conditional breakpoint based on the received value of the variable.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee Helgeson, Michelle A. Schlicht
  • Patent number: 9053229
    Abstract: Integrating compiler warnings into a debug session including: receiving, by a debugger for a debug session of a debuggee from a compiler, compiled source code for execution and compiler warning data describing one or more compiler warnings generated at compile time of the debuggee, each compiler warning resulting from a source code variable statement in the debuggee source code; receiving, by the debugger, a request to evaluate a variable; determining, from the compiler warning data, whether evaluating the variable is dependent upon a source code variable statement resulting in a compiler warning; and, if evaluating the variable is dependent upon a source code variable statement resulting in a compiler warning, returning, by the debugger responsive to the request along with a result of the evaluation, a compiler warning indicator.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: June 9, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 9047096
    Abstract: Methods, apparatuses, and computer program products for real-time temperature sensitive machine level code compilation and execution are provided. Embodiments include compiling and executing, by a just-in-time (JIT) compiler, machine level code; during execution of the machine level code, determining, by the JIT compiler, an execution temperature for the machine level code, including reading temperature measurements from one or more processor temperature sensors; based on the determined execution temperature, identifying, by the JIT compiler, a portion of the machine level code that, when executed, caused temperature measurements of one or more processor temperature sensors to exceed a predetermined threshold temperature; recompiling, by the JIT compiler, the machine level code including modifying the identified portion to generate a new execution temperature that is lower than the previously determined execution temperature; and executing, by the JIT compiler, the recompiled machine level code.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9047403
    Abstract: According to embodiments of the invention, methods, computer readable storage medium, and a computer system for providing multiple versions of elements of a program in a single compile are disclosed. The method may include receiving a request to compile a current version of a program for debug. The method may also include identifying, by an integrated development environment, a previous version of an element of the program, wherein the previous version of the element is identified by comparing the current version of the program to a previous version of the program. The method may also include inserting the previous version of the element into the current version of the program. The method may also include creating a compiler directive identifying the previous version of the element. The method may also include compiling the current version of the program for debug.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9015676
    Abstract: Debugging of code of a computer program is facilitated by having a plurality of internal breakpoints associated with lines of code previously set by a processor, during a debugging session, while implementing one or more step-type operations. During execution of another operation, internal breakpoints are disabled as encountered and deemed unnecessary to completion of the another operation. A count of a number of interrupts of one or more interrupt-types experienced during execution of the another operation is maintained, and responsive to the count exceeding a threshold, the disabling is varied to remove at least N internal breakpoints responsive to encountering an internal breakpoint during execution of the another operation deemed unnecessary to completion of the another operation, where N?2.
    Type: Grant
    Filed: October 29, 2010
    Date of Patent: April 21, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, David L. Hermsmeier
  • Patent number: 9009678
    Abstract: Software debugging with execution match determinations, including: inserting, by a compiler while compiling source code into a debuggable program, a phantom breakpoint at every line of source code; including in the debuggable program, by the compiler, a breakpoint handling module and an exit handler; executing the debuggable program including encountering one or more of the phantom breakpoints and removing, by the breakpoint handling module, each encountered phantom breakpoint; creating, by the exit handler, upon exiting execution of the debuggable program, a copy of the debuggable program that includes only phantom breakpoints not encountered during execution; and providing the copy of the debuggable program to a debugger.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 9009673
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving application-level messages including receiving, from a requesting debug client, a step over command that includes an instruction to ignore, during the step over command, events established by the requesting debug client; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including providing distributed control of the back-end debugger and routing the step over command to the back-end debugger; performing the step over command, including ignoring the events established by the requesting debug client and processing any other events; and returning, to the debug clients in response to the application-level messages routed to the back-end debugger, cli
    Type: Grant
    Filed: October 21, 2010
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 9009671
    Abstract: Crash notification between debuggers, including: initiating, by a first debugger, a first debug session of a first application; detecting, by the first debugger, an error condition in the first application; determining, by the first debugger, whether any variables utilized by the first application are related to variables utilized by a second application, wherein the second application is being debugged in a second debug session by a second debugger; and communicating, by the first debugger to a second debugger, information associated with the error condition in the first application.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht
  • Patent number: 9009679
    Abstract: Embodiments of the invention include a method for setting snapshots in code. The method may occur during the debug of code and may include determining whether to place a snapshot instruction immediately before a machine instruction within a module. The determination may include analyzing parameters associated with the machine instruction.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Kendrick Wong
  • Publication number: 20150095710
    Abstract: A method for debugging a program having a plurality of threads includes identifying, for each thread, a target point at which the program terminated and a staging point previously executed in the thread. The method further includes executing each thread from the staging point to the target point and determining, for each thread, a staging time based upon the executing of each thread from the staging point to the target point. The method further includes executing each thread from its staging point based on the staging time of the thread so that the plurality of threads will reach the crash location at approximately the same time such that the program threads execute in a similar pattern to the execution that caused the crash.
    Type: Application
    Filed: September 27, 2013
    Publication date: April 2, 2015
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 8990775
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving application-level messages, including receiving, a request to establish a chat session associated with a location in source code of the debuggee; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger; returning client-specific debug results, including sending, to the debug clients, a notification of an established chat session; and administering, by the message router, chat content for the established chat session among debug clients. Debug clients display the chat content in a chat box at the location in source code when the view of source code includes the location.
    Type: Grant
    Filed: November 10, 2010
    Date of Patent: March 24, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8990780
    Abstract: A method, computer-readable storage medium, and computer system are provided. In an embodiment, a command is received that specifies a debug compile option and requests a compile of a module into object code. If the debug compile option specifies a first debug compile option, snapshot instructions are inserted immediately prior to each machine instruction in the object code at which a breakpoint was previously set. If the debug compile option specifies the first debug compile option, snapshot instructions are inserted immediately prior to each machine instruction in the object code that implements a control flow statement.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: March 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Kendrick Wong
  • Patent number: 8972957
    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: December 11, 2012
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 8972945
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving, by the debug server, a plurality of application-level messages, including receiving, from a session owner, a request to enable a predefined operational mode; enabling the predefined operational mode; routing, by the message router in accordance with an application-level message passing protocol and in accordance with the enabled predefined operational mode, the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including providing distributed control of the back-end debugger to the debug clients with application-level messages routed to the back-end debugger; and returning, by the debug server to the debug clients in response to the application-level messages rout
    Type: Grant
    Filed: October 21, 2010
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8966068
    Abstract: In an embodiment, in response to detecting a request by a program to access a network, if the request is the first time that the program requests to access the network, a subset of instructions is replaced in the program with supervisor call instructions. The supervisor call instructions cause respective interrupts of execution of the program. In response to each of the respective interrupts of execution of the program, the supervisor call instructions that caused the respective interrupts are replaced with the respective swapped instructions, and if a number of the respective interrupts of execution exceed a trap threshold, all remaining of the respective swapped instructions are stored to the program.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee Nee Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 8954932
    Abstract: Crash notification between debuggers, including: initiating, by a first debugger, a first debug session of a first application; detecting, by the first debugger, an error condition in the first application; determining, by the first debugger, whether any variables utilized by the first application are related to variables utilized by a second application, wherein the second application is being debugged in a second debug session by a second debugger; and communicating, by the first debugger to a second debugger, information associated with the error condition in the first application.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht
  • Publication number: 20150033211
    Abstract: Debug information records associated with a weak function of the program are obtained. In response to receipt of an instruction of setting a breakpoint for the weak function in the program, breakpoint addresses corresponding one-to-one with each of the at least one debug information record are obtained. In response to the program being executed to a set breakpoint associated with the weak function, an address to which a program counter of the program points is obtained. A breakpoint address matching the address to which the program counter of the program points is obtained. A mark for the matching breakpoint address is set. In response to receipt of the instruction of setting a breakpoint for the weak function in the program again, a debug information record corresponding to the matching breakpoint address according to the at least one debug information record with the mark being set is obtained.
    Type: Application
    Filed: July 28, 2014
    Publication date: January 29, 2015
    Inventors: Cary L. Bates, Xiao Ling Chen, Fan Wang
  • Patent number: 8943480
    Abstract: A method, computer-readable storage medium, and computer system are provided. In an embodiment, in response to a command that requests setting a breakpoint at a line in a module, a determination is made whether a snapshot instruction exists before a machine instruction that implements a source statement at the line. If the snapshot instruction exists before the machine instruction that implements the source statement at the line, the breakpoint is set at the machine instruction that implements the source statement at the line. If the snapshot instruction does not exist before the machine instruction that implements the source statement at the line, the module is recompiled to add the snapshot instruction before the machine instruction that implements the source statement.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: January 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Kendrick Wong
  • Patent number: 8910136
    Abstract: In an embodiment, in response to reading a declaration of a function that specifies a name of the function and a type of memory on which the function operates, the name of the function, a pointer to the function, and the type are saved to a template. In response to reading a call statement that specifies the name of the function and an identifier of an object, first code is generated. The first code, when executed, reads the pointer to the function from a virtual function table pointed to by the object, finds an entry in the virtual function table that represents the function, and reads the pointer from the entry in the virtual function table. The call statement, when executed, requests a call of the function. Second code is generated that, when executed, calls the function using the pointer read from the virtual function table.
    Type: Grant
    Filed: September 2, 2011
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King, Lee Nee, Siobhan M. O'Toole