Patent application number | Description | Published |
20080201393 | IDENTIFYING UNNECESSARY SYNCHRONIZATION OBJECTS IN SOFTWARE APPLICATIONS - 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. | 08-21-2008 |
20090204948 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR DETECTING THREAD STARVATION - Thread starvation is indicated for a program under test while the program is running. Beginning with a least frequently used thread in a list of thread tracking structures, if recorded events are currently listed for the thread, thread starvation is detected based on a percentage of the recorded events that took place while other threads were waiting a synchronization object held by the thread. If no recorded events are listed for the thread, the percentage of recorded of events that take place while other threads were waiting for synchronization object held by the thread does not exceed the predetermined percentage, and there are timestamps currently listed for the thread and the thread is currently waiting for a synchronization object, thread starvation is detected based on a percentage of time the thread has been waiting for the synchronization object. Thread starvation detection is repeated for each of the remaining threads in the list of thread tracking structure, beginning with the next to least frequently active thread. | 08-13-2009 |
20090271769 | DETECTING IRREGULAR PERFORMING CODE WITHIN COMPUTER PROGRAMS - 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. | 10-29-2009 |
20100100700 | ADAPTIVELY PREVENTING OUT OF MEMORY CONDITIONS - 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. | 04-22-2010 |
20120030681 | HIGH PERFORMANCE LOCKS - 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. | 02-02-2012 |
20120060160 | COMPONENT-SPECIFIC DISCLAIMABLE LOCKS - 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. | 03-08-2012 |
20120084763 | IDENTIFYING CODE THAT WASTES TIME SWITCHING TASKS - 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. | 04-05-2012 |
20120174116 | HIGH PERFORMANCE LOCKS - 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. | 07-05-2012 |
20120179889 | ADAPTIVELY PREVENTING OUT OF MEMORY CONDITIONS - 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. | 07-12-2012 |
20120191892 | COMPONENT-SPECIFIC DISCLAIMABLE LOCKS - 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. | 07-26-2012 |
20120254840 | THREAD SERIALIZATION AND DISABLEMENT TOOL - 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. | 10-04-2012 |
20120254841 | DETECTING IRREGULAR PERFORMING CODE WITHIN COMPUTER PROGRAMS - 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. | 10-04-2012 |
20120254880 | THREAD FOLDING TOOL - 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. | 10-04-2012 |
20130283282 | COMPONENT-SPECIFIC DISCLAIMABLE LOCKS - 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. | 10-24-2013 |
20140013329 | THREAD FOLDING TOOL - 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. | 01-09-2014 |
20140157278 | THREAD FOLDING TOOL - 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. | 06-05-2014 |
20140173567 | MANAGING WINDOW FOCUS WHILE DEBUGGING A GRAPHICAL USER INTERFACE PROGRAM - An embodiment of the present invention utilizes the abilities of an operating system to manage the window focus while debugging a graphical user interface program. In an example, a debugger program intercepts a breakpoint in the code of a graphical user interface computer program undergoing automated testing by a separate computer program. The debugger program instructs the operating system to save states of the window focus. Responsive to determining the breakpoint condition has ended, the debugger program instructs the operating system to restore saved states of the window that had focus prior to the breakpoint condition. Another embodiment of the present invention arranges similar window focus management where an operating system on its own is unable to save and restore states of the window that had focus prior to the breakpoint condition. | 06-19-2014 |
20140173569 | MANAGING WINDOW FOCUS WHILE DEBUGGING A GRAPHICAL USER INTERFACE PROGRAM - An embodiment of the present invention utilizes the abilities of an operating system to manage the window focus while debugging a graphical user interface program. In an example, a debugger program intercepts a breakpoint in the code of a graphical user interface computer program undergoing automated testing by a separate computer program. The debugger program instructs the operating system to save states of the window focus. Responsive to determining the breakpoint condition has ended, the debugger program instructs the operating system to restore saved states of the window that had focus prior to the breakpoint condition. Another embodiment of the present invention arranges similar window focus management where an operating system on its own is unable to save and restore states of the window that had focus prior to the breakpoint condition. | 06-19-2014 |
20140278210 | Real-time Spatial Path Comparison - Methods and apparatus, including computer program products, implementing and using techniques for processing motion paths for physical entities. For each physical entity among several physical entities, several representations are received of positions of the physical entity. In response to detecting that a number of physical entities among the physical entities traverse a similar motion path, a path record is generated, which represents the motion path traversed by the number of physical entities. | 09-18-2014 |
20140359583 | THREAD SERIALIZATION AND DISABLEMENT TOOL - 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. | 12-04-2014 |
20150023549 | DETECTION OF ASTRONOMICAL OBJECTS - Methods and apparatus, including computer program products, implementing and using techniques for detecting astronomical objects. An image frame is received, which includes representations of one or more astronomical objects. The received image frame is divided into several swaths. One or more swaths are selected, which include full or partial representations of one or more astronomical objects. Each of the one or more swaths and each astronomical object represented within the one or more swaths can be designated by a base-limit pair. The base-limit pairs for the selected one or more swaths are compared with base-limit pairs for one or more corresponding swaths using a difference algorithm. A list of differences in the base-limit pairs is created. | 01-22-2015 |
20150046086 | REAL-TIME SPATIAL PATH COMPARISON - Methods for processing motion paths for physical entities. For each physical entity among several physical entities, several representations are received of positions of the physical entity. In response to detecting that a number of physical entities among the physical entities traverse a similar motion path, a path record is generated, which represents the motion path traversed by the number of physical entities. | 02-12-2015 |
20150052151 | SCORING RELATIONSHIPS BETWEEN ENTITIES BASED ON PROXIMITY IN SPACE AND TIME - Methods and apparatus, including computer program products, implementing and using techniques for determining a relationship score between a first entity and a second entity. A first computer-readable representation of a first spatial region containing the first entity is generated. A second computer-readable representation of a second spatial region containing the second entity is generated. The first computer-readable representation and the second computer-readable representation are compared at decreasing resolutions until a matching condition is reached. A relationship score is assigned to one or more of the first entity and the second entity based on the resolution at which the matching condition is reached. | 02-19-2015 |
20150052154 | SCORING RELATIONSHIPS BETWEEN ENTITIES BASED ON PROXIMITY IN SPACE AND TIME - Methods for determining a relationship score between a first entity and a second entity. A first computer-readable representation of a first spatial region containing the first entity is generated. A second computer-readable representation of a second spatial region containing the second entity is generated. The first computer-readable representation and the second computer-readable representation are compared at decreasing resolutions until a matching condition is reached. A relationship score is assigned to one or more of the first entity and the second entity based on the resolution at which the matching condition is reached. | 02-19-2015 |
20150058862 | HIGH PERFORMANCE LOCKS - 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. | 02-26-2015 |