A method of intra-block memory usage analysis for a program can include identifying a memory block that has been allocated to the program and determining at least one intra-memory block usage characteristic for the allocated memory block.
International Business Machines Corporation - Armonk NY
International Classification:
G06F 11/00
US Classification:
714 38, 714720
Abstract:
A method of identifying race conditions in a computer program can include identifying a call to a selected function specifying a memory range. The selected function can cause data to be written to the memory range asynchronously. The method further can include spraying the memory range with a predetermined bit pattern and determining whether a detected write operation at least partially overwrites the predetermined bit pattern in the memory range. A race condition can be selectively indicated according to the determining step.
Identifying Code That Wastes Time Performing Redundant Computation
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/44 G06F 9/45
US Classification:
717127, 717128, 717130, 717131, 717158
Abstract:
A method of runtime analysis of a computer program can include, after each access of a first type to a memory address, incrementing a counter associated with the memory address and, after each access of a second type to a memory address, comparing the counter associated with the memory address with a threshold. The method further can include identifying at least one memory address having a counter that exceeds the threshold and determining a portion of code responsible for accessing the memory address associated with the counter that exceeds the threshold.
Cindy D. Fulmer - Sunnyvale CA, US Victor Havin - Mountain View CA, US Kirk J. Krauss - Los Gatos CA, US
Assignee:
International Business Machines Corporation - Armonk NY
International Classification:
G06F 13/00 G06F 13/28 G06F 9/46
US Classification:
711170, 718104
Abstract:
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.
Identifying Unnecessary Synchronization Objects In Software Applications
International Business Machines Corporation - Armonk NY
International Classification:
G06F 13/00
US Classification:
719328, 718100
Abstract:
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.
Method For Detecting Race Conditions Involving Heap Memory Access
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.
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/45 G06F 9/44
US Classification:
717151, 717116, 717127, 717140
Abstract:
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.
Automated Method For Historical Analysis Of A Memory State
International Business Machines Corporation - Armonk NY
International Classification:
G06F 9/44
US Classification:
717127, 717131
Abstract:
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.
Youtube
Alison Krauss - When You Say Nothing At All (...
Official video for "When You Say Nothing At All" by Alison Krauss. Wat...