Patents by Inventor Kirk J. Krauss
Kirk J. Krauss 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: 20120254840Abstract: A computer-implemented method of performing runtime analysis on and control of a multithreaded computer program. One embodiment of the present invention can include identifying threads of a computer program to be analyzed. With a supervisor thread, execution of the identified threads can be controlled and execution of the identified threads can be monitored to determine a status of the identified threads. An indicator corresponding to the determined status of the threads can be output.Type: ApplicationFiled: March 26, 2012Publication date: October 4, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: KIRK J. KRAUSS
-
Patent number: 8271959Abstract: A computer-implemented method of finding portions of a computer program exhibiting irregular performance can include detecting an entry into a function of a computer program under test indicating a current execution of the function and, responsive to detecting an exit from the function, determining a count of a computing resource utilized by the function during the current execution of the function. The count of the computing resource can be compared with a count range determined according to at least one prior execution of the function. The function can be selectively represented within a call graph as a plurality of nodes according to the comparing.Type: GrantFiled: April 27, 2008Date of Patent: September 18, 2012Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Patent number: 8245012Abstract: A computer-implemented method of preventing an out-of-memory condition can include evaluating usage of virtual memory of a process executing within a computer, detecting a low memory condition in the virtual memory for the process, and selecting at least one functional program component of the process according to a component selection technique. The method also can include sending a notification to each selected functional program component and, responsive to receiving the notification, each selected functional program component releasing at least a portion of a range of virtual memory reserved on behalf of the selected functional program component.Type: GrantFiled: October 16, 2008Date of Patent: August 14, 2012Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Publication number: 20120191892Abstract: Systems and methods of protecting a shared resource in a multi-threaded execution environment in which threads are permitted to transfer control between different software components, for any of which a disclaimable lock having a plurality of orderable locks can be identified. Back out activity can be tracked among a plurality of threads with respect to the disclaimable lock and the shared resource, and reclamation activity among the plurality of threads may be ordered with respect to the disclaimable lock and the shared resource.Type: ApplicationFiled: March 16, 2012Publication date: July 26, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20120179889Abstract: A computer-implemented method of preventing an out-of-memory condition can include evaluating usage of virtual memory of a process executing within a computer, detecting a low memory condition in the virtual memory for the process, and selecting at least one functional program component of the process according to a component selection technique. The method also can include sending a notification to each selected functional program component and, responsive to receiving the notification, each selected functional program component releasing at least a portion of a range of virtual memory reserved on behalf of the selected functional program component.Type: ApplicationFiled: March 15, 2012Publication date: July 12, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: KIRK J. KRAUSS
-
Publication number: 20120174116Abstract: Systems and methods of enhancing computing performance may provide for detecting a request to acquire a lock associated with a shared resource in a multi-threaded execution environment. A determination may be made as to whether to grant the request based on a context-based lock condition. In one example, the context-based lock condition includes a lock redundancy component and an execution context component.Type: ApplicationFiled: March 15, 2012Publication date: July 5, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20120084763Abstract: A method of detecting portions of code of a computer program that protect resources of a computer system unnecessarily can include identifying threads and synchronization objects that are used by a computer program during execution, determining the number of threads that have accessed each resource while it has been consistently protected by a particular synchronization object, and indicating whether the resource is suited for protection according to the number of threads that have accessed the resource.Type: ApplicationFiled: December 11, 2011Publication date: April 5, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: KIRK J. KRAUSS
-
Publication number: 20120060160Abstract: Systems and methods of protecting a shared resource in a multi-threaded execution environment in which threads are permitted to transfer control between different software components, for any of which a disclaimable lock having a plurality of orderable locks can be identified. Back out activity can be tracked among a plurality of threads with respect to the disclaimable lock and the shared resource, and reclamation activity among the plurality of threads may be ordered with respect to the disclaimable lock and the shared resource.Type: ApplicationFiled: September 8, 2010Publication date: March 8, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20120030681Abstract: Systems and methods of enhancing computing performance may provide for detecting a request to acquire a lock associated with a shared resource in a multi-threaded execution environment. A determination may be made as to whether to grant the request based on a context-based lock condition. In one example, the context-based lock condition includes a lock redundancy component and an execution context component.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Patent number: 8104022Abstract: An automated method for historical analysis of a memory state includes tracking all memory write accesses by an application under test; recording a directed graph having values in a plurality of memory locations, such values being derived from values previously stored in at least one of, (i) the same memory location, and (ii) another memory location, each memory location being updated by a computer operation occurring at a verifiable time; displaying a portion of the graph that led to the update of a user-specified memory location by the application under test; and traversing backward from any node located on the directed graph via an arc utilized to follow the path of events that led to the content of the memory location represented by that node at the time represented by that node.Type: GrantFiled: November 6, 2006Date of Patent: January 24, 2012Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Patent number: 8095921Abstract: A method of detecting portions of code of a computer program that protect resources of a computer system unnecessarily can include identifying threads and synchronization objects that are used by a computer program during execution, determining the number of threads that have accessed each resource while it has been consistently protected by a particular synchronization object, and indicating whether the resource is suited for protection according to the number of threads that have accessed the resource.Type: GrantFiled: October 12, 2005Date of Patent: January 10, 2012Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Patent number: 7992146Abstract: A method for detecting race conditions involving heap memory access including a plurality of threads being tracked. At runtime a plurality of APIs utilized to create and destroy thread synchronization objects are intercepted, and each synchronization object created via the APIs is tracked. A bit field is created that contains a unique bit for each synchronization object. Heap memory allocations and deallocations are intercepted and tracked. The heap memory access is intercepted, and at that time, the ID of the accessing thread is compared with the last thread ID associated with that memory block when it was last accessed. If the thread IDs do not match, then the current thread synchronization object bit field is compared with the last synchronization object bit field associated with thread memory block. Provided the bit fields are different, a race condition warning is reported that is displayable to the user having the call chains.Type: GrantFiled: November 22, 2006Date of Patent: August 2, 2011Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Publication number: 20110161614Abstract: A computer-implemented method of detecting memory that may be reclaimed from application data objects that are no longer in use. When at least a first virtual memory region is newly committed for heap block storage, a pre-leak detection scan of other virtual memory regions can be performed to identify at least one non-pointer data item in the other virtual memory regions, the non-pointer data item comprising data that corresponds to an address of a memory location within the first virtual memory region, but that is not a memory pointer. A leak detection scan can be performed to identify potential memory pointers, wherein the identified non-pointer data item is excluded from the identified potential memory pointers. A list of leaked heap blocks can be output. Each leaked heap block can exclusively comprise memory locations that do not have a corresponding potential memory pointer.Type: ApplicationFiled: December 30, 2009Publication date: June 30, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20110145650Abstract: A method of analyzing a computer program under test (CPUT) using a system comprising a processor and a memory can include performing, by the processor, static analysis upon the CPUT and runtime analysis upon at least a portion of the CPUT. A static analysis result and a runtime analysis result can be stored within the memory. Portions of the CPUT analyzed by static analysis and not by runtime analysis can be determined as candidate portions of the CPUT. The candidate portions of the CPUT can be output.Type: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20110138368Abstract: A computer-implemented method of finding portions of a computer program exhibiting irregular performance can include detecting an entry into a function of a computer program under test indicating a current execution of the function and, responsive to detecting an exit from the function, determining a count of a computing resource utilized by the function during the current execution of the function. The count of the computing resource can be compared with a predetermined count range to determine whether the function is nonconforming to the predetermined count range. Usage information for the computer program under test can be output to a display of an electronic device resource, the resource usage information indicating that the function does not conform to the predetermined count range.Type: ApplicationFiled: December 4, 2009Publication date: June 9, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20110126174Abstract: A computer-implemented method of performing runtime analysis on and control of a multithreaded computer program. One embodiment of the present invention can include identifying threads of a computer program to be analyzed. With a supervisor thread, execution of the identified threads can be controlled and execution of the identified threads can be monitored to determine a status of the identified threads. An indicator corresponding to the determined status of the threads can be output.Type: ApplicationFiled: November 23, 2009Publication date: May 26, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Publication number: 20110126202Abstract: A computer-implemented method of performing runtime analysis on and control of a multithreaded computer program. One embodiment of the present invention can include identifying threads of a computer program to be analyzed. Under control of a supervisor thread, a plurality of the identified threads can be folded together to be executed as a folded thread. The execution of the folded thread can be monitored to determine a status of the identified threads. An indicator corresponding to the determined status of the identified threads can be presented in a user interface that is presented on a display.Type: ApplicationFiled: November 23, 2009Publication date: May 26, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss
-
Patent number: 7844977Abstract: Methods and apparatus, including computer program products, for identifying unnecessary synchronization objects in software applications. A computer-implemented method for determining a usefulness of synchronization objects includes, in a multi-threaded application program, tracking threads as they are created and terminated, intercepting application program interfaces (APIs) used to create and destroy thread synchronization objects, in the API wrappers, tracking existing synchronization objects in a list, and associating a list entry for each of the synchronization objects with a unique bit in a bit field.Type: GrantFiled: February 20, 2007Date of Patent: November 30, 2010Assignee: International Business Machines CorporationInventor: Kirk J. Krauss
-
Patent number: 7769976Abstract: A method of runtime analysis of a computer program can include detecting allocations of virtual memory regions during runtime of the computer program. An entry can be created in a list of existing virtual memory regions for each allocation of a virtual memory region during runtime. The list can be updated, during runtime, according to usage of the virtual memory regions. Virtual memory regions allocated to, but not used by, the computer program can be indicated according to the list.Type: GrantFiled: December 12, 2006Date of Patent: August 3, 2010Assignee: International Business Machines CorporationInventors: Cindy D. Fulmer, Victor Havin, Kirk J. Krauss
-
Publication number: 20100100700Abstract: A computer-implemented method of preventing an out-of-memory condition can include evaluating usage of virtual memory of a process executing within a computer, detecting a low memory condition in the virtual memory for the process, and selecting at least one functional program component of the process according to a component selection technique. The method also can include sending a notification to each selected functional program component and, responsive to receiving the notification, each selected functional program component releasing at least a portion of a range of virtual memory reserved on behalf of the selected functional program component.Type: ApplicationFiled: October 16, 2008Publication date: April 22, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Kirk J. Krauss