Including Instrumentation And Profiling Patents (Class 717/130)
-
Publication number: 20110107313Abstract: A computer implemented method involving receiving by an integrated development environment an output file from a profiling utility to generate a line chart of data from the output file. The method to visualize profiling data for a binary file automatically and to displaying corresponding source code in response to a user selection of a data point in the line chart.Type: ApplicationFiled: November 4, 2009Publication date: May 5, 2011Applicant: Red Hat, Inc.Inventor: Elliott Baron
-
Publication number: 20110107307Abstract: System(s), method(s), and computer program product(s) for collecting program runtime information are provided. In one aspect, this comprises: an instrumentation module for inserting, by program instrumentation, monitoring code into the constructor of an exception class in a program to run; and a monitoring module implemented by said monitoring code, the monitoring module for collecting program runtime information during the running process of the program. In another aspect, this comprises: obtaining verification point variables from assertions for a program to be tested; inserting monitoring code into positions in the program that access the obtained verification point variables; and as the program runs, collecting runtime information of the program by the inserted monitoring code.Type: ApplicationFiled: October 27, 2010Publication date: May 5, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Yan Kai Liu, Yao Qi, Xing Xing Shen, Chuang Tang
-
Patent number: 7937691Abstract: A method, apparatus, and computer instructions in a data processing system for monitoring the execution of instructions and accesses to memory locations. If an instruction is associated with a indicator, a counter associated with the instruction is incremented in response to detecting execution of the instruction. The indicator may be associated with a memory location with a counter associated with the memory location being incremented in response to an access of the memory location.Type: GrantFiled: September 30, 2003Date of Patent: May 3, 2011Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Frank Eliot Levine, Enio Manuel Pineda, Christopher Michael Richardson, Robert John Urquhart
-
Patent number: 7930165Abstract: A method and corresponding equipment for emulation of a target programmable unit, which has at least one CPU, by means of an external emulation device, which is coupled to the target programmable unit by means of a communication link, comprising: transferring predetermined initialization data through the communication link to the emulation device for initializing the emulation; transferring through the communication link to the emulation device a CPU clock signal and emulation data; emulating the target programmable unit in the external emulation device using the transferred emulation data; ascertaining respective trace data from the emulation in the external emulation device and storing and/or outputting the trace data; deriving respective target integrity-control data and emulation integrity-control data from respective target-internal data and emulation-internal data; and transferring the derived target integrity-control data from the target programmable unit to the external emulation device.Type: GrantFiled: February 7, 2008Date of Patent: April 19, 2011Assignee: Accemic GmbH & Co. KGInventors: Alexander Weiss, Alexander Lange
-
Patent number: 7930684Abstract: A system, method, and computer-accessible medium for logging and replaying asynchronous events are disclosed. One or more asynchronous events occurring during execution of a first instance of a computer program are logged. In logging the asynchronous events, a respective location in the execution of the first instance at which each of the one or more asynchronous events occurs is determined. A respective synchronous event preceding each asynchronous event is also determined. The asynchronous events are replayed during execution of a second instance of the computer program. In replaying each asynchronous event, the second instance is instrumented at the respective location during the execution of the second instance after detecting the preceding synchronous event.Type: GrantFiled: October 12, 2005Date of Patent: April 19, 2011Assignee: Symantec Operating CorporationInventors: Guenter E. Roeck, Serge Pashenkov, Serge Shats
-
Patent number: 7930700Abstract: An embodiment of a method of ordering operations begins with a first step of a computing entity storing a training data set, which includes previously executed operation pairs, attribute data, and relative cost data. In a second step, the computing entity forms a predictor. In a third step, the computing entity applies the predictor to an operation pair of first and second to-be-executed operations to determine a predicted relative cost between the first and second to-be-executed operations. Another embodiment of the method comprises the first step, the second step, an alternative third step, and a fourth step. In the alternative third step, the computing entity applies the predictor to to-be-executed operations in operation pairs to determine a predicted relative cost between first and second operations for each operation pair. In the fourth step, the computing entity employs the operation pairs and the predicted relative costs to sort the to-be-executed operations.Type: GrantFiled: May 23, 2005Date of Patent: April 19, 2011Assignee: Hewlett-Packard Development Company, L.P.Inventors: Sujoy Basu, Ira Cohen
-
Patent number: 7926042Abstract: A system and method for dynamic instrumentation of an interpreted application. The method includes the operation of loading an interpreted code unit into a virtual machine. Testing instrumentation can then be inserted into the interpreted code unit using the virtual machine while the interpreted application continues executing. Another operation is executing the interpreted code unit with the testing instrumentation.Type: GrantFiled: October 31, 2005Date of Patent: April 12, 2011Assignee: Hewlett-Packard Development Company, L.P.Inventors: Virendra Kumar Mehta, Sandya S. Mannarswamy
-
Patent number: 7926036Abstract: The present examples provide technologies for estimating code failure proneness probabilities for a code set and/or the files that make up the set. The code set being evaluated is typically comprised of binary and/or source files that embody the software for which the estimates are desired. The estimates are typically based on a set of selected code metrics, the code metrics typically selected based on corresponding failures of a previous version of the software. A historically variant metric feedback factor may also be calculated and code metric values classified relative to a baseline code set embodying the previous version of the software.Type: GrantFiled: April 26, 2007Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: Nachiappan Nagappan, Thirumalesh Bhat
-
Patent number: 7926043Abstract: The described technology provides data structure path profiling. An instrumented version of a program is created that calls a profiler runtime when pointer based data structures are allocated or accessed via pointers. A model of the heap is created and nodes in the model data structures are assigned unique identifiers. Paths traversed through the model data structures are assigned unique identifiers. The paths are counted in order to identify paths through the data structure model that are traversed frequently. The model is useful for providing information about high frequency data paths to the program developer and for various optimization purposes, such as prefetching and or increasing data locality during garbage collection.Type: GrantFiled: June 20, 2006Date of Patent: April 12, 2011Assignee: Microsoft CorporationInventors: Kapil Vaswani, Trishul Chilimbi
-
Publication number: 20110078664Abstract: The present invention comprises: a converting step for converting a source program into a machine language program; an inserting step for inserting notifying instructions for notifying that the source program has been executed in the machine language program; and a program generating step for generating the executable program from the machine language program in which the notifying instructions are inserted. Further, in the inserting step, the notifying instructions are placed at the entry points of each basic block that constitutes the machine language program and the notifying instructions to which the same conditions as those of the conditional instruction groups are granted are placed at the entry points of conditional instruction groups provided in the machine language program. In the program generating step, identification information for identifying the notifying instructions is granted to each of the notifying instructions.Type: ApplicationFiled: December 7, 2010Publication date: March 31, 2011Applicant: PANASONIC CORPORATIONInventors: Yoko MAKIYORI, Taketo HEISHI, Akira TAKUMA
-
Patent number: 7917894Abstract: A source container for use in a computer system executing problem determination tools in an integrated environment across a computer network, the source container comprising a list of pathways to a plurality of source files and module objects. A software development may create the source container independently or within the front end of a problem determination tool. The front end of the problem determination tools sends the source container to its engine, and only source files and module objects having a pathway in the source container are analyzed within the engine of the problem determination tool. Furthermore, the results of the analysis of only those source files and module objects having a pathway in the source container are returned to the front end of the problem determination tool for viewing by the software developer.Type: GrantFiled: June 3, 2005Date of Patent: March 29, 2011Assignee: International Business Machines CorporationInventors: Xuan Zhang Chen, Kushal Sayeed Munir, David Kenneth McKnight, Li Ding, Vadim Berestetsky
-
Patent number: 7917897Abstract: Embodiments of the invention are generally related to computer systems, and more specifically to the analysis of defects in computer software products. Defects uncovered during software testing may be stored in a data structure as data defects, code defects, or environment defects, along with further data describing a particular nature of the defects. The defects may be analyzed to determine a particular problem area causing the defects. If a particular class of defects is determined to be the dominant class of defects encountered during testing, an analysis path of that class of defects may be followed to determine a cause for the defects in the respective class. Therefore, corrective measures tailored to resolving the defects associated with the determined cause may be taken.Type: GrantFiled: February 16, 2007Date of Patent: March 29, 2011Assignee: International Business Machines CorporationInventors: Kathryn Allyn Bassin, Brian Richard Lepel, Warren James Leslie, Susan Eileen Skrabanek, Crystal Faye Springer, Nathan Gary Steffenhagen
-
Patent number: 7917901Abstract: A technique for the dynamic instrumentation of a running software system. One or more callable instrumentation functions are accessible in a first memory space associated with the software system. The one or more callable instrumentation functions are adapted to probe an operation of the software system and return data regarding the probed operation. Probed operation environment information needed by the one or more instrumentation functions is provided to a second memory space associated with the software system. First memory space addresses associated with the probed operation environment information are determined from a resource that is accessible in the second memory space. A probe handler is generated that includes calls to the one or more instrumentation functions with references to the first memory space addresses. The probe handler is callable as part of the probed operation.Type: GrantFiled: August 7, 2006Date of Patent: March 29, 2011Assignee: International Business Machines CorporationInventor: Akulavenkatavara Pradadarao
-
Patent number: 7912935Abstract: A computer program product embodied in a computer-readable medium is configurable to accomplish execution of an application that is specified and encoded in a markup-based descriptor language. The product includes client runtime computer code configured to cause a client computer device to process the markup-based descriptor language to deploy an application to accomplish execution of the application. The client runtime computer code is further configured to process the markup-based descriptor language to selectively configure the client computer device to deploy the application so as to accomplish execution of the application by the client computer device stand-alone or by the client computer device in cooperation with a server to which the device is connectable via a network connection.Type: GrantFiled: March 24, 2008Date of Patent: March 22, 2011Assignee: Eliad Technologies, Inc.Inventors: Patrick Merissert-Coffinieres, Alain Dinkespiler, Alejandro Daniel Rosenblatt, Madalina Stroe
-
Patent number: 7908590Abstract: A system and method for generating test cases for a computer program. The method and system include invoking execution of the computer program via a remote client and monitoring the execution of the computer program. Information about execution path of the computer program is collected and then the execution of the computer program is stopped via the remote client. One or more test cases are then generated utilizing the collected information. In one embodiment, the remote client is a computer test tool and the computer program is a web application.Type: GrantFiled: November 13, 2006Date of Patent: March 15, 2011Assignee: Parasoft CorporationInventors: Jeehong Min, Matthew David Love, Wayne P. Ariola, Jr.
-
Patent number: 7908591Abstract: A memory profiler is provided in a programming environment. The memory profiler records memory usage information at a point of a program that runs in the programming environment. The memory profiler may record information on the amount of allocated memory, the amount of freed memory and the amount of peak memory usage. The memory profiler may also record the number of allocations and frees. The memory usage information is associated with individual points in the program so that a user can utilize this information to change the program to use less memory. With the memory usage information, the present invention enables a user to recognize how much memory is being allocated and used on behalf of a program and to track down what code is actually causing a problem in the program.Type: GrantFiled: July 17, 2006Date of Patent: March 15, 2011Assignee: The MathWorks, Inc.Inventors: William Nell, Loren Shure
-
Patent number: 7904956Abstract: A facility for providing access authorization is provided. The facility initially enforces a first, less restrictive policy when making its access control decisions. Subsequent to detecting an anomaly, the facility enforces a second, more restrictive policy when making its access control decisions. The facility returns to enforcing the first, less restrictive policy when the anomaly no longer exists. In another embodiment, the facility enforces a policy after detecting an anomaly and until the anomaly has ended.Type: GrantFiled: October 1, 2004Date of Patent: March 8, 2011Assignee: Microsoft CorporationInventors: Gilad Golan, Mark Vayman
-
Patent number: 7904894Abstract: Various technologies and techniques are disclosed that automatically optimize package execution performance. A profiling phase executes each task in a control flow package and measures performance metrics, such as task execution length, task memory usage, task correlation to CPU versus input/output operations, network bandwidth, and running applications. An optimization phase optimizes subsequent executions of the package by using the performance metrics to make appropriate adjustments to the package. The profiling phase and optimizing phase are repeated over a period of time as appropriate to improve the package's performance without requiring a user to make adjustments to the tasks in the package.Type: GrantFiled: March 29, 2006Date of Patent: March 8, 2011Assignee: Microsoft CorporationInventors: Michael Entin, Euan P. Garden, J. Kirk Haselden
-
Patent number: 7904912Abstract: A computer implemented method, apparatus, and computer usable code for identifying processor utilization. A current event is detected. A number of elapsed cycles for a processor since a previous event are identified in response to detecting the current event. An elapsed time using the number of elapsed cycles and a current frequency of the processor is calculated, wherein the elapsed time is used to identify the processor utilization.Type: GrantFiled: August 30, 2005Date of Patent: March 8, 2011Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Frank Eliot Levine, Enio Manuel Pineda, Robert John Urquhart
-
Publication number: 20110055806Abstract: A system and method of discovering one or more program variable values may extract an abstract interpretation of a program variable used in a computer program, locate installation-specific repositories associated with the computer program, parse the located installation-specific repositories and extract one or more configuration parameters, and substitute the one or more configuration parameters into the extracted abstract interpretation.Type: ApplicationFiled: September 3, 2009Publication date: March 3, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sergej Chicherin, Nikolai A. Joukov, Birgit Pfitzmann, Marco Pistoia, Vasily Tarasov, Takaaki Tateishi, Norbert G. Vogl
-
Patent number: 7900198Abstract: A method for extracting context information from an extraction module to create a minimized extraction module, creating a parameter profile from the context information, transmitting the minimized extraction module to a target device, receiving a value extracted from the target device by the minimized extraction module, and combining the value with at least a portion of the context information to create a user readable log statement. A system having an extraction element extracting context information from an extraction module to create a minimized extraction module, a creating element creating a parameter profile from the context information, a transmitting element transmitting the minimized extraction module to a target device, a receiving element receiving a value extracted from the target device by the minimized extraction module, and a combining element combining the value with at least a portion of the context information to create a user readable log statement.Type: GrantFiled: October 2, 2006Date of Patent: March 1, 2011Assignee: Wind River Systems, Inc.Inventor: Bulent Kasman
-
Patent number: 7900196Abstract: A computer implemented method, apparatus and computer usable program code for collecting information on wait states occurring during execution of a program. Filter criteria associated with a wait state are identified. A determination is made as to whether the filter criteria are met for the wait state. Information is collected about a set of requesters associated with the wait state in response to a determination that the filter criteria have been met.Type: GrantFiled: May 24, 2006Date of Patent: March 1, 2011Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Riaz Y. Hussain, Frank Eliot Levine
-
Patent number: 7900195Abstract: Disclosed herein is a data processing system-implemented method, a data processing system, and an article of manufacture for investigating computer software. The data processing system-implemented method includes capturing tracing information at one or more boundary points of the computer software, and reproducing a behavior of the computer software at the boundary points based on the captured tracing information.Type: GrantFiled: January 5, 2009Date of Patent: March 1, 2011Assignee: International Business Machines CorporationInventors: Robert Alan Begg, Murray Frederick Chislett, Albert Grankin, John Paul Parkin, Edward Van Gennip, Mark Francis Wilding
-
Publication number: 20110047532Abstract: Methods and apparatuses that collect code coverage information for selected code locations when executing executable code are described. Source code in one or more files may be annotated at the selected code locations. The executable code may be compiled from the annotated source code using standard compilers. The code coverage information may be collected into a run time data store accessible by other applications. In response to receiving a code coverage request, the code coverage information can be retrieved from the data store to compare with annotations identified from the source code. A code coverage report can be generated to indicate whether one or more of the selected code locations are not covered when executing the executable code.Type: ApplicationFiled: August 28, 2009Publication date: February 24, 2011Inventor: Wenguang Wang
-
Publication number: 20110047531Abstract: Methods and apparatuses that collect code coverage information for selected code locations when executing executable code are described. Source code in one or more files may be annotated at the selected code locations. The executable code may be compiled from the annotated source code using standard compilers. The code coverage information may be collected into a run time data store accessible by other applications. In response to receiving a code coverage request, the code coverage information can be retrieved from the data store to compare with annotations identified from the source code. A code coverage report can be generated to indicate whether one or more of the selected code locations are not covered when executing the executable code.Type: ApplicationFiled: August 19, 2009Publication date: February 24, 2011Inventor: Wenguang Wang
-
Patent number: 7895588Abstract: A method is described by defining one or more classes within a software application as being in scope, any class not defined as being in scope are defined as being out of scope, all classes comprise at least one method. The method further determines an amount of allocated memory for each of said in scope classes and said out of scope classes. Lastly, if one of said methods from one of said out of scope classes are called as a result of the calling of one of the in scope classes, adding said allocated memory from said out of scope class to said allocated memory of said in scope class.Type: GrantFiled: December 20, 2004Date of Patent: February 22, 2011Assignee: SAP AGInventor: Albert P. Rossmann
-
Patent number: 7895577Abstract: The invention relates to a device for testing the structural coverage of a software program and a method implementing the device. The software, stored in a first memory comprises instructions which can be located via addresses on an address bus connecting the processor to the first memory. The device includes a second memory connected to the address bus that can be used to store values in memory associated with each address, these values indicating the conditions for calling up the associated address by the processor. The method consists in erasing all the contents of the second memory, performing tests validating the software, comparing the contents of the second memory with a list of addresses where instructions are located.Type: GrantFiled: June 21, 2005Date of Patent: February 22, 2011Assignee: ThalesInventor: Jerome Papineau
-
Patent number: 7895580Abstract: A system and method are described for tracing program flow within an application. In one embodiment of the invention, options for modifying application bytecode at a variety of different levels of precision are provided. For example, bytecode may be modified at the application level, the package level, the class level and/or the method level. Each level of precision effectively identifies a different set of methods of the application which are to be traced. Once the level of prevision is identified and the application is executed, information related to the modified bytecode is collected via a tracing service.Type: GrantFiled: December 30, 2003Date of Patent: February 22, 2011Assignee: SAP AGInventor: Nikolai G. Nikolov
-
Patent number: 7895581Abstract: In one embodiment a computer system comprises one or more processors and a memory module communicatively connected to the one or more processors. The memory module comprises logic instructions which, when executed on the one or more processors configure the one or more processors to receive an interrupt in an execution thread of a process executing at an application layer of an operating system, intercept the interrupt in a profiling collector module invoked directly from a raw machine state, execute a profiling collection process, and return control from the interrupt to the execution thread when the profiling collection process is complete.Type: GrantFiled: January 26, 2007Date of Patent: February 22, 2011Assignee: Hewlett-Packard Development Company, L.P.Inventor: David LaFrance-Linden
-
Patent number: 7890936Abstract: A method for reverse reading a computer program code to locate useful information includes receiving a selection of a line of the computer program code from a user, extracting one or more variables from the line of the computer program, searching the computer program code for one or more other lines of code that create and/or use the variables, and highlighting the other lines of code that create and/or use the variables.Type: GrantFiled: July 31, 2006Date of Patent: February 15, 2011Assignee: International Business Machines CorporationInventors: Cary L. Bates, Jason J. Illg
-
Patent number: 7890941Abstract: Techniques for reliable binary instrumentation based on annotation information are described. A binary file that comprises a code section representing the executable code of a computer program is accessed. The binary file also comprises annotation information that indicates the boundaries of one or more portions of the computer program. Accurate data flow information and control flow information may be generated based on the annotation information included in the binary file. The binary file is instrumented by inserting a set of instrumentation code at one or more points in the code section of the computer program. The one or more points are determined based on the data flow information and the control flow information.Type: GrantFiled: November 10, 2005Date of Patent: February 15, 2011Assignee: Oracle America, Inc.Inventors: Chandrashekhar Garud, Fu-Hwa Wang
-
Patent number: 7886281Abstract: The disclosure is directed to a method of tracing processing of software instructions associated with a transaction. The method includes writing an access data stream addressed to a receiving application on a remote application server and writing a transaction identifier to the end of the access data stream. The receiving application is configured to read the access data stream and the transaction identifier when an instrumented version of the receiving application is implemented on the remote application server.Type: GrantFiled: March 29, 2005Date of Patent: February 8, 2011Assignee: Symantec CorporationInventors: Steven Smith, Eric David Schank, Brian Mead Tyler
-
Patent number: 7886268Abstract: An activation program first activates a basic program and a first functional program, which realizes a specific function, among a plurality of functional programs, and then activates at least one second functional program among the functional programs after the first functional program is completely activated.Type: GrantFiled: February 3, 2006Date of Patent: February 8, 2011Assignee: Ricoh Company, LimitedInventor: Kiwamu Okabe
-
Patent number: 7882496Abstract: Metering execution of interpreted programs on a data processing system is accomplished. An interpreted program requests a service to an interpreter running the interpreted program. The interpreter invokes a native external function for implementing the service. The invocation of the external function is intercepted. The interpreted program identified according to the external function by accessing a catalogue which associates native functions with interpreted programs. A license management operation is performed according to the identified interpreted program.Type: GrantFiled: May 31, 2005Date of Patent: February 1, 2011Assignee: International Business Machines CorporationInventors: Giorgio Cognigni, Marco Mechelli, Claudio Morgia, Bernardo Pastorelli
-
Patent number: 7877734Abstract: An apparatus, program product and method associate a unique key with routines in an application to enable a profiler to ascertain whether to collect profile information for a routine during its execution. A key may be generated, for example, during deployment or installation of an application in an application server or other runtime environment, and subsequently associated with the routines in the application, e.g., by storing the key in the class and/or library files for the application. By doing so, each application in a runtime environment may be uniquely identified by a profiler during execution, such that profile information will only be collected for those applications for which profiling has been enabled.Type: GrantFiled: January 12, 2006Date of Patent: January 25, 2011Assignee: International Business Machines CorporationInventors: Steven Joseph Branda, John Joseph Stecher
-
Patent number: 7877742Abstract: A method, system, and computer program product for generating terminating, pseudo-random test instruction streams, including forward and backward branching instructions. A first instruction stream is generated, including at least one backward branching instruction and at least one forward branching instruction. Each backward branching instruction is preceded by at least one forward branching instruction, which is used to guarantee termination of the loop formed by the backward branching instruction. Backward branching targets are resolved when the backward branching instruction is inserted into the first instruction stream. Forward branching targets remain unresolved in the first instruction stream. A set of potential branch targets is determined for each forward branching instruction. For each forward branching instruction, a branch target is randomly selected from the set of potential branch targets for that forward branching instruction.Type: GrantFiled: June 8, 2006Date of Patent: January 25, 2011Assignee: International Business Machines CorporationInventors: Ali Y. Duale, Theodore J. Bohizic, Dennis W. Wittig
-
Publication number: 20110016455Abstract: The power usage of software executable by an embedded system may be profiled without the need for test benches or power measurement systems. Additionally, the power profiles corresponding to multiple pieces of software may be determined and compared.Type: ApplicationFiled: January 31, 2010Publication date: January 20, 2011Inventors: Glenn Perry, Herbert Yuen, Manfred Kreutzer, Thomas Gatterweh
-
Patent number: 7865777Abstract: Apparatus and methods for intercepting and analyzing threads are disclosed. In one embodiment, a thread data recorder is configured to instrument one or more existing functions by modifying computer executable instructions in the functions to intercept threads calling the functions. In one possible implementation, the number of existing functions instrumented can be reduced by instrumenting choke point functions. The instrumented functions can also capture data associated with the threads as the threads execute at the function. This data can be saved to memory and compressed into logs. In one aspect, the data can be saved and/or compressed at a time when processor resources are being used at or below predetermined level. The captured data can be used to analyze a functioning of a computer system in which the threads were produced.Type: GrantFiled: October 31, 2007Date of Patent: January 4, 2011Assignee: Microsoft CorporationInventors: Chad Verbowski, Brad Daniels, John Dunagan, Shan Lu, Roussi Roussev, Juhan Lee, Arunvijay Kumar
-
Publication number: 20100333071Abstract: Mechanisms for time based context sampling of trace data with support for multiple virtual machines are provided. In response to the occurrence of an event, a plurality of sampling threads associated with a plurality of executing threads executing on processors of a data processing system are awakened. For each sampling thread, an execution state of a corresponding executing thread is determined with regard to one or more virtual machines of interest. For each sampling thread, based on the execution state of the corresponding executing thread, a determination is made whether to retrieve trace information from a virtual machine of interest associated with the corresponding executing thread. For each sampling thread, in response to a determination that trace information is to be retrieved from a virtual machine of interest associated with the corresponding executing thread, the trace information is retrieved from the virtual machine.Type: ApplicationFiled: June 30, 2009Publication date: December 30, 2010Applicant: International Business Machines CorporationInventors: Kean G. Kuiper, Frank E. Levine
-
Patent number: 7861231Abstract: A method and system to identifying the use of dangling pointers in software instrumentation irrespective of the location of the pointer in the memory. The main memory is preferably segmented into three parts defined as a first memory, a version segment and a pointer version segment. By use of the version segment and pointer version stored in the pointer version segment, checksum are made on a pointer version with a version on dereferencing a pointer in the first memory to identify references to a dangling pointer on negative determination. Identified dangling pointer may be reported to the end user.Type: GrantFiled: March 9, 2007Date of Patent: December 28, 2010Assignee: International Business Machines CorporationInventors: Kumar Rangarajan, Satish Chandra Gupta, Ziv Glazberg, Ishai Rabinovitz
-
Patent number: 7861230Abstract: A method and system for profiling API shims is described herein. The system includes a profiler, a profiling application program interface (API), and a profiling shim. The profiling shim intercepts communications between the profiler and the profiling API. Calls from and to the profiler are chained through the profiling shim. The profiling shim may further log calls to functions from and to the profiler and/or validate the profiler's usage of the profiling API.Type: GrantFiled: May 24, 2006Date of Patent: December 28, 2010Assignee: Microsoft CorporationInventor: Jonathan W. Keljo
-
Patent number: 7853927Abstract: Embodiments of the present invention present methods of tracing kernel functions of a kernel including: building a kernel tracing dynamically loadable kernel module (DLKM) wherein the kernel tracing DLKM contains user-specified kernel code; loading the kernel tracing DLKM on a target machine; invoking the kernel tracing DLKM on the target machine; and tracing kernel functions wherein trace variables are gathered. In some embodiments, the method may further include: creating user-specified kernel code wherein at least one kernel activity may be inspected or tested; creating at least one trace point corresponding to a point at which the kernel tracing DLKM is invoked; and compiling the kernel tracing DLKM.Type: GrantFiled: February 3, 2005Date of Patent: December 14, 2010Assignee: Hewlett-Packard Development Company, L.P.Inventor: Carol Petersen Muser
-
Patent number: 7849450Abstract: Devices, methods, and software program products for reverse execution of a simulation and/or tracing a value are provided. A state of a preceding checkpoint may be restored and a simulation may be run forward. Break points or watch points may be noted and the state of the last occurring breakpoint or watch point preceding the current simulation position may be restored. If no breakpoint or watch point occurred, an earlier checkpoint may be loaded and the previous steps may be repeated.Type: GrantFiled: January 28, 2005Date of Patent: December 7, 2010Assignee: Intel CorporationInventors: Samuel Rydh, Peter S. Magnusson, Bengt Werner
-
Publication number: 20100306745Abstract: A method for instrumenting a computer program, the method including identifying a program slice within a computer program, and instrumenting the program slice within the program.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Adi Sharabani, Omer Tripp
-
Patent number: 7844954Abstract: A method and computer program product for logging non-deterministic events of a virtual machine executing a sequence guest instructions, the method including tracking an execution point in the sequence of executing guest instructions, the tracking of the execution point including determining a branch count of executed branch instructions; and detecting an occurrence of a non-deterministic event directed to the virtual machine during execution of the sequence of guest instructions, and recording information which includes an identifier of a current execution point, wherein the identifier includes the branch count.Type: GrantFiled: March 27, 2008Date of Patent: November 30, 2010Assignee: VMware, Inc.Inventors: Ganesh Venkitachalam, Michael Nelson, Boris Weissman, Min Xu, Vyacheslav V. Malyugin
-
Publication number: 20100299655Abstract: Methods, systems, and products for determining performance of a software entity running on a data processing system. The method comprises allowing extended execution of the software entity without monitoring code. The method also comprises intermittently sampling behavior data for the software entity. Intermittently sampling behavior data may be carried out by injecting monitoring code into the software entity to instrument the software entity, collecting behavior data by utilizing the monitoring code, and removing the monitoring code. The method also comprises repeatedly performing iterations of the allowing and sampling steps until collected behavior data is sufficient for diagnosing performance of the software entity. The method may further comprise analyzing the collected behavior data to diagnose performance of the software entity.Type: ApplicationFiled: May 22, 2009Publication date: November 25, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Randall Ray Heisch, Bret Ronald Olszewski
-
Publication number: 20100287539Abstract: A computing system for converting software code into an executable program include an expanding preprocessor that receives software code including debug statements and expands the debug statements into conditions that include a static variable and that must be met before a trace contained in the statement is executed, the expanding preprocessor creating an expanded code output. The system also includes a replacement preprocessor coupled to the expanding preprocessor and receiving the expanded code, the replacement preprocessor forming replaced code by replacing one or more occurrences of the static variables with a unique variable name and a compiler that compiles the replacement code to create an executable.Type: ApplicationFiled: May 11, 2009Publication date: November 11, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Yoonho Park, Philippe L. Selo
-
Publication number: 20100287534Abstract: Test suites can be optimized for more efficient software testing. A software program is instrumented and test cases of a test suite are run against the instrumented target binaries. A set of metrics are identified that can be used to capture a test case's execution and behavior and allow pairs of test cases of a test suite to be compared in a quantifiable manner. Metric values for test case pairs are generated and combined to create one or more unique signature values. Signature values are compared to cluster analogous test cases, allowing for, e.g., the association of comparable test cases, the identification of redundant test cases, and the formation of a test suite subset that can effectively test under time constraints.Type: ApplicationFiled: May 7, 2009Publication date: November 11, 2010Applicant: Microsoft CorporationInventors: Vipindeep Vangala, Phani Kishore Talluri, Jacek A. Czerwonka, Sarada Prasanna Samantaray
-
Patent number: 7827543Abstract: Data address profiling allows determination of sources of code execution hindrance with different perspectives of memory references and allows correlation of sampled runtime events and memory reference objects, such as cache lines. Associating sampled runtime events with data addresses provides for efficient and targeted optimization of code with respect to data addresses and physical and/or logical memory reference objects (e.g., memory segments, heap variables, variable instances, stack variables, etc.). An instruction instance is identified in relation to a sampled runtime event. A data address is determined from the instruction instance. From the determined address, a memory reference object is ascertained.Type: GrantFiled: May 6, 2004Date of Patent: November 2, 2010Assignee: Oracle America, Inc.Inventors: Nicolai Kosche, Brian J. Wylie, Christopher P. Aoki, Martin S. Itzkowitz
-
Patent number: 7827539Abstract: A tracing system that provides automated tuning of execution tracing by adjusting the collection of trace data is described. In one embodiment, the user sets an initial tracing profile for a tracing program. In addition, the user sets an upper limit for the tracing performance penalty. The auto-tuning system monitors the performance penalty induced by tracing and, when the performance impact is excessive, removes trace points that are causing the most impact on performance. Auto tuning is especially useful for performing software recording in mission-critical and/or time-critical applications, such as servers, real-time applications, etc. The system typically adjusts relatively quickly such that most users do not feel the influence of the tracer.Type: GrantFiled: June 23, 2005Date of Patent: November 2, 2010Assignee: Identify Software Ltd.Inventors: Shlomo Wygodny, David Elkind, Moshe Kravchik