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: 8661413
    Abstract: A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads. In such a non-stop debug environment, impact indication of thread-specific events includes tracking, by the debugger, activity associated with a thread-specific event and displaying, by the debugger in a graphical user interface (‘GUI’), an indication of thread-specific event impact in dependence upon the tracked activity.
    Type: Grant
    Filed: April 13, 2011
    Date of Patent: February 25, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8656360
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving a number of application-level messages including a request to resume execution of the debuggee; routing the messages by the message router, providing distributed control of the back-end debugger to the debug clients, including: polling one or more debug clients for approval to resume execution of the debuggee and resuming execution of the debuggee only if a number of debug clients providing approval to resume execution of the debuggee exceeds a predefined threshold, and returning, by the debug server to the debug clients in response to the application-level messages routed to the back-end debugger, client-specific debug results.
    Type: Grant
    Filed: April 20, 2011
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20140033180
    Abstract: In an embodiment, a cloud debug breakpoint, assigned to a first user, is established in a program at a first server in a cloud, wherein the first user selects the first server at which the program executes, from among servers in the cloud. The program at the servers in the cloud is executed, in response to requests from users. The program at the first server in the cloud is executed, in response to all requests from the first user to the program. If an identifier of a user that sent a request that the program was executing at a time that execution of the program at the first server reaches the cloud debug breakpoint matches an identifier of the first user assigned to the cloud debug breakpoint, the execution of the program is halted and control of a processor is given to a debugger.
    Type: Application
    Filed: July 24, 2012
    Publication date: January 30, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Kershaw S. Mehta
  • Publication number: 20140007058
    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: Application
    Filed: June 28, 2012
    Publication date: January 2, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Kendrick Wong
  • Patent number: 8589635
    Abstract: Administering thermal distribution among memory modules in a computing system that includes temperature sensors, where each temperature sensor measures temperature of a memory module and thermal distribution is effected by: determining, in real-time by a user-level application in dependence upon the temperature measurements of the temperature sensors, whether a memory module is overheated; if a memory module is overheated and if a current call stack frame is stored on the overheated memory module, increasing, by the user-level application, a size of the current call stack frame to fill remaining available memory space on the overheated memory module, ensuring a subsequent call stack frame is stored on a different memory module.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 8572577
    Abstract: A method, system and program product for monitoring changes to a variable within a critical section of a threaded program. The method includes establishing, using a debugging tool, a watch for monitoring changes to a variable that occur outside of the critical section and executing a portion of the threaded program with a debugger. Further, the method includes determining, using the tool, whether or not a thread has executed a start breakpoint set for the critical section, if the thread has executed the start breakpoint set, determining whether or not the thread has executed an end breakpoint set for the critical section, and if the thread has not executed the end breakpoint set, displaying any watches triggered responsive to updates to the variable that occur outside of the critical section, such that, only updates to the variable that occur outside of the critical section will trigger the displaying.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: October 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Victor J. Gettler
  • Publication number: 20130282841
    Abstract: A social media mechanism processes messages for content that may require filtering of recipients of the message, and informs a user who drafted the message when the message might need to be filtered so it is not sent to all potential recipients of the message. The user may then select to send the message to all potential recipients, or to filter the recipients so the message is sent to less than all of the potential recipients. User profiles are created and maintained, and may include information that helps to determine when filtering of messages is desirable. Feedback buttons are also provided to provide feedback when a user does not like a message.
    Type: Application
    Filed: November 26, 2012
    Publication date: October 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Jason A. Nikolai, Jeffrey A. Prentice
  • Publication number: 20130282835
    Abstract: A social media mechanism processes messages for content that may require filtering of recipients of the message, and informs a user who drafted the message when the message might need to be filtered so it is not sent to all potential recipients of the message. The user may then select to send the message to all potential recipients, or to filter the recipients so the message is sent to less than all of the potential recipients. User profiles are created and maintained, and may include information that helps to determine when filtering of messages is desirable. Feedback buttons are also provided to provide feedback when a user does not like a message.
    Type: Application
    Filed: April 18, 2012
    Publication date: October 24, 2013
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Jason A. Nikolai, Jeffrey A. Prentice
  • Publication number: 20130283243
    Abstract: Compiling source code includes receiving, by an optimizing compiler from a debugger, a variable value modification profile that specifies locations in the source code at which variable values modified during a debug session; compiling the source code, including: inserting snapshots at one or more of the locations in the source code at which variable values were modified, each snapshot including a breakpoint; and only for each snapshot at a location in the source code at which variable values were modified: inserting, between the breakpoint and remaining source code at the location of the snapshot, a module of computer program instructions that when executed retrieves a current value of a variable and stores the current value in a register; and recording the location of each inserted snapshot; and providing, to the debugger by the optimizing compiler, the recorded locations of each inserted snapshot along with the compiled source code.
    Type: Application
    Filed: April 18, 2012
    Publication date: October 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Justin K. King, Lee Nee
  • Patent number: 8566538
    Abstract: Administering thermal distribution among memory modules in a computing system that includes temperature sensors, where each temperature sensor measures temperature of a memory module and thermal distribution is effected by: determining, in real-time by a user-level application in dependence upon the temperature measurements of the temperature sensors, whether a memory module is overheated; if a memory module is overheated and if a current call stack frame is stored on the overheated memory module, increasing, by the user-level application, a size of the current call stack frame to fill remaining available memory space on the overheated memory module, ensuring a subsequent call stack frame is stored on a different memory module.
    Type: Grant
    Filed: August 16, 2011
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 8566799
    Abstract: Inserting, at debuggee source code lines, a breakpoint and executing. For each breakpoint encounter until exiting: encountering and removing the breakpoint, incrementing a first counter value, and resuming execution. Exiting includes saving the first counter value, a state of the call stack, and an exit location. In a second debug session, preparing the debuggee to resume from the exit location. Inserting, at the debuggee source code lines, a breakpoint and executing the debuggee. For each breakpoint encounter until a second counter value matches the first: encountering and removing the breakpoint, incrementing the second counter value, and resuming execution. When the first and second counter values match: inserting an exit location breakpoint at the exit location, executing the debuggee until encountering the exit location breakpoint, and providing the user control to resume debugging from the exit location only if the present state of the call stack matches the saved state.
    Type: Grant
    Filed: July 15, 2011
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20130275947
    Abstract: Compiling source code for debugging, including: receiving, by an optimizing compiler from a debugger, a user specification of preferred breakpoint locations in the source code; compiling, by the optimizing compiler, the source code, wherein compiling includes inserting a snapshot at one or more of the preferred breakpoint locations, and recording the location of each inserted snapshot; and providing, to the debugger by the optimizing compiler, the recorded locations of each inserted snapshot along with the compiled source code.
    Type: Application
    Filed: April 17, 2012
    Publication date: October 17, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES COPORATION
    Inventor: Cary L. Bates
  • Publication number: 20130275948
    Abstract: Debugging source code includes: tracking, by a debugger during a debug session, duration of user examination of source code locations; providing, by the debugger to an optimizing compiler, a source code examination profile specifying source code locations examined by the user during the debug session; and receiving, by the debugger from the optimizing compiler: compiled source code for debugging, the compiled source code comprising, at each of one or more source code locations specified in the source code examination profile: a snapshot before the source code of the source code location, followed by an expanded snapshot, the expanded snapshot including computer program instructions to enable, during a debug session, examination of variable values changing during execution of the source code at the source code location; and a recording of snapshot locations and expanded snapshot locations.
    Type: Application
    Filed: April 17, 2012
    Publication date: October 17, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Justin K. King, Lee Nee
  • Publication number: 20130263094
    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: Application
    Filed: March 29, 2012
    Publication date: October 3, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Kendrick Wong
  • Patent number: 8516460
    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: August 2, 2011
    Date of Patent: August 20, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 8495590
    Abstract: User-specific software debugging with user-specific step commands that includes: receiving a command to step execution to a source code module associated with a user; identifying routines in a call stack associated with the user; inserting, for each identified routine, a breakpoint at each source code line of the routine; inserting, for each source code module associated with the user and not in the call stack, a breakpoint at an entry point of the source code module; and executing the debuggee until the debuggee encounters one of the inserted breakpoints thereby halting execution of the debuggee. User-specific debugging with user-specific Dynamically Linked Library (DLL) load processing modes including: receiving a selection of a user-specific DLL processing mode; upon loading a DLL, retrieving a user identification; determining whether the DLL is associated with the user; and processing the DLL in accordance with user specific DLL processing mode only if the DLL is associated with the user.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8495589
    Abstract: A debugger includes a thread holding mechanism that analyzes the code being executed by multiple threads, and delays holding each thread that is currently executing system code external to the program until the thread is no longer executing the system code external to the program, or until some threshold is exceeded. Delaying holding of a thread that is executing system code external to the program avoids potential conditions that could lock up the debugger.
    Type: Grant
    Filed: November 3, 2010
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20130179731
    Abstract: A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.
    Type: Application
    Filed: January 5, 2012
    Publication date: July 11, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King, Lee Nee
  • Publication number: 20130152054
    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: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Kendrick Wong
  • Patent number: 8458665
    Abstract: A method and computer program product are provided for audiating the occurrence of debugger events within a software debugger. The method begins by assigning a sound characteristic to a debugger event occurring within a software program under debug. Next, the audiation of the sound characteristic associated with the event is optimized to maximize performance of the debugger. Finally, the optimized sound characteristic associated with the event is played upon the occurrence of the event.
    Type: Grant
    Filed: May 28, 2009
    Date of Patent: June 4, 2013
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Christopher A. Peterson, Joseph M. Vaillancourt