Including Instrumentation And Profiling Patents (Class 717/130)
  • Patent number: 8054953
    Abstract: A method and a system for executing correlative services are provided. In the method and the system, an event type corresponding to an input message is determined through semantic analysis. After collecting the necessary execution information of the event type according to the input message, a user database, or by inquiring the user or another system, the system automatically executes various correlative services of the event type. Therefore, the system can help users to execute correlative services more correctly and more efficiently.
    Type: Grant
    Filed: January 23, 2007
    Date of Patent: November 8, 2011
    Assignee: Industrial Technology Research Institute
    Inventors: Shih-Chieh Chien, Chih-Chung Kuo, Jui-Hsin Hung
  • Patent number: 8051413
    Abstract: A method and apparatus for reducing a memory footprint of an embedded system. The method may include analyzing packages installed in a root file system of the embedded system, and determining which package components are not required for the operation of the embedded system. The method further includes reducing a memory footprint of the embedded system based on the above determination.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: November 1, 2011
    Assignee: Red Hat, Inc.
    Inventors: Clark Williams, Brendan Conoboy
  • Patent number: 8046745
    Abstract: The present invention relates to compiler generated code for parallelized code segments, wherein the generated code is used to determine if an expected number of parallel processing threads is created for a parallel processing application, in addition to determining the performance impact of using parallel threads of execution. In the event the expected number of parallel threads is not generated, notices and alerts are generated to report the thread creation problem. Further, a method is disclosed for the collection of performance metrics for N threads of execution and one thread of execution, and thereafter performing a comparison operation upon the execution threads. Notices and alerts are generated to report the resultant performance metrics for the N threads of execution versus the one thread of execution.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: October 25, 2011
    Assignee: International Business Machines Corporation
    Inventor: Peter W. Y. Wong
  • Patent number: 8046760
    Abstract: One embodiment disclosed relates to a method of finding lock contention in an application with concurrent threads. Status data is retrieved by periodically sampling status of said threads. The periodically-sampled status data is accumulated, and the lock contention is statistically found from the accumulated status data. The status data may include location information that is usable to pinpoint the lock contention.
    Type: Grant
    Filed: July 9, 2004
    Date of Patent: October 25, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: David Isaiah Seidman, Piotr Findeisen
  • Patent number: 8042179
    Abstract: A method for preventing a return address from being falsified due to a buffer overflow during the program execution, and for detecting the buffer-overflow beforehand. When the return address is re-written during program execution, the debug function of the central processing unit is used to output an error. The falsification of the return address is detected through the error output. Then the falsified return address is re-written to a value stored in advance to enable the program to return to normal operation. When the falsification of the return address is detected, the executing program is terminated.
    Type: Grant
    Filed: September 3, 2004
    Date of Patent: October 18, 2011
    Assignee: Science Park Corporation
    Inventors: Koichiro Shoji, Yoshiyasu Takafuji, Takashi Nozaki
  • Patent number: 8037459
    Abstract: A system and method for instrumentation of software, the software comprising a set of instructions (program or code) which are executable on a processor of a system, for example a computer system. A location in the instruction to insert a probe is first identified. The instruction is replaced with the probe by copying the instruction to a predefined location. The instruction is executed in the kernel space. A first exception is generated upon encountering the probe and calling a first exception handler, and the first exception handler is configured to call an instrumentation routine. A second exception is generated when the instrumentation routine encounters an error and calling a second exception handler, recovering from the exceptions and returning to a sane state to continue normal execution of the instruction.
    Type: Grant
    Filed: July 31, 2007
    Date of Patent: October 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ananth Narayan Mavinakayanahalli, Prasanna S. Panchamukhi
  • Patent number: 8032869
    Abstract: Information on an execution status of an information-collection target program is collected with an interrupt handler that is activated by an interrupt generated when a predetermined condition is satisfied. A target range for collecting the information with the interrupt handler is specified, and information to be collected by the interrupt handler when the interrupt is generated within the specified target range is set.
    Type: Grant
    Filed: July 27, 2006
    Date of Patent: October 4, 2011
    Assignee: Fujitsu Limited
    Inventors: Akira Hirai, Kouichi Kumon
  • Patent number: 8032875
    Abstract: A system and method for profiling a software application may include means for defining a custom cost metric that includes a cost metric identifier and a cost function. The cost function may apply a mathematical formula to data extracted from an event set to calculate a respective cost metric value for each of one or more events in the event set. The data extracted from the event set may include one or more respective profiling object identifiers and one or more other respective costs associated with each of the one or more events. A cost associated with an event in the event space may be associated with a function or basic block of instructions. The cost function may include a distribution formula for attributing at least a portion of the cost associated with a function or basic block to each of the instructions comprising the function or basic block.
    Type: Grant
    Filed: November 28, 2006
    Date of Patent: October 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Nicolai Kosche, Kenneth Tracton
  • Patent number: 8032587
    Abstract: The Asynchronous Aggregator shifts the burden of retrieving and aggregating asynchronous responses by replacing asynchronous requests in an original request thread with placcholders with a unique identifier, creating new threads for each asynchronous request, writing a script to request the asynchronous request output, and returning the original request and the script to the client. Each of the new threads run independently and when completed, place the output in the server store. The script then requests each output from the server store as the output becomes available to fill the placeholders.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: Madhu K. Chetuparambil, Curtiss J. Howard, Todd E. Kaplinger, Erinn E. Koonce, Maxim A. Moldenhauer
  • Patent number: 8028277
    Abstract: Systems and methods for optimizing performance in a computing environment are provided. The system comprises means for monitoring execution of annotated logic code associated with a software component to determine whether a condition has been satisfied, wherein annotations in the logic code provide one or more details about the software component, the details being useful to a healing agent to correct a problem associated with said condition during the execution of the logic code.
    Type: Grant
    Filed: May 21, 2007
    Date of Patent: September 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Breitgand, Maayan Goldstein, Ealan Abraham Henis, Onn Menahem Shehory, Yaron Weinsberg
  • Patent number: 8024710
    Abstract: Unwinding may take place in an annotated unwinding environment with non-annotated code by placing a context frame between a first annotated function and non-annotated function and an unwind thunk between the non-annotated function and a second annotated function. The unwind thunk may redirect an unwind function to the context frame so that an unwind process may continue across a non-annotated function.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventor: Leif Kornstaedt
  • Patent number: 8024711
    Abstract: A tool for analyzing software. The tool identifies calls to framework components made from within one or more application programs. The information may be processed to indicate usage of framework components. This usage information may be aggregated over a pool of application programs to derive statistical usage information for each component in the framework, allowing components to be selected for inclusion in a compact framework. Usage information may also be used for scheduling development tasks so that the most widely used framework components are developed first or to estimate the amount of development required to modify an application program for execution against a target framework.
    Type: Grant
    Filed: August 10, 2005
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Benjamin Albahari, Bruce E. Johnson, Fernando L. Fanton
  • Patent number: 8024807
    Abstract: A mechanism for determining a probabilistic security score for a software package is provided. The mechanism calculates a raw numerical score that is probabilistically linked to how many security vulnerabilities are present in the source code. The score may then be used to assign a security rating that can be used in either absolute form or comparative form. The mechanism uses a source code analysis tool to determine a number of critical vulnerabilities, a number of serious vulnerabilities, and a number of inconsequential vulnerabilities. The mechanism may then determine a score based on the numbers of vulnerabilities and the number of lines of code.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: September 20, 2011
    Assignee: Trend Micro Incorporated
    Inventors: Kylene Jo Hall, Dustin C. Kirkland, Emily Jane Ratliff
  • Patent number: 8020154
    Abstract: Precise exception handling relies on a precise subject state including an accurate program counter and register values of a subject processor. Subject code (17) is translated into target code (21) executable by a target processor (13). The generated target code (17) includes counterpart target instructions (214) associated with fault-vulnerable subject code instructions (174). Further, each of the counterpart target code instruction (214) is associated with recovery information (195). When an exception (e.g. a fault) occurs, the recovery information (195) is retrieved and used to recover a precise subject state, in particular by taking account of optimizations to generate the common-case target code (21). The precise subject state is then used to precisely handle the exception.
    Type: Grant
    Filed: November 14, 2005
    Date of Patent: September 13, 2011
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, Abdul Rahman Hummaida
  • Patent number: 8015549
    Abstract: Techniques for debugging applications are provided. Access to an application is controlled by a wrapper. The wrapper intercepts calls to the application and records the calls. The calls are then passed to the application for processing. The recorded calls form a log which may be analyzed or mined to detect error conditions or undesirable performance characteristics associated with the application independent of source associated with the application.
    Type: Grant
    Filed: May 10, 2005
    Date of Patent: September 6, 2011
    Assignee: Novell, Inc.
    Inventors: Brian Collings Cooper, Stephen R. Carter
  • Patent number: 8015551
    Abstract: The software operation modeling device includes a function call order obtaining unit and a model generator. The function call order obtaining unit obtains or estimates an issuing order of function calls executed in each of specific events in the course of executing software. The model generator statistically grasps a co-occurrence relationship between the specific event and the issuing order of the function calls obtained or estimated by the function call order obtaining unit, and to record the grasped co-occurrence relationship as an operation model of the software.
    Type: Grant
    Filed: November 27, 2006
    Date of Patent: September 6, 2011
    Assignee: NTT DoCoMo, Inc.
    Inventors: Akira Kinno, Takehiro Nakayama
  • Patent number: 8006235
    Abstract: A profiler manager may attach and detach profilers from a running application. A profiler may be detached through a two step process where the profiler is sealed from communicating with the running application, then an evacuation step where the application is able to complete any responses that are pending. While the profiler is in the evacuation phase, another profiler may be attached to the application. Messages to the evacuating profiler may be captured and directed to the proper profiler.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventors: David Broman, Jonathan Keljo, Vance Morrison, Sean Selitrennikoff, Hsu-chieh Yuan
  • Publication number: 20110202904
    Abstract: A coverage analysis tool may determine coverage in respect to heterogeneous coverage tasks associated with different hierarchy levels of a tasks hierarchy. The coverage analysis tool may iteratively refine coverage tasks to determine coverage of sub-tasks. In some cases, coverage tasks may be unrefined in order to reduce overhead of coverage analysis in performance of the software under test, such that the software under test may perform in an essentially similar manner as in non-testing mode.
    Type: Application
    Filed: February 15, 2010
    Publication date: August 18, 2011
    Applicant: International Business Machiness Corporation
    Inventors: Orna Raz, Eitan Farchi, Yochai Ben-Chaim, Hana Chockler, Lawrence Blount, Aviad Zlotnick
  • Patent number: 8000952
    Abstract: A system and method to generate simulations of a target application or software. The method comprises recognizing a start point associated with a multiple path simulation of a target application and automatically generating simulation branches of the multiple path simulation from the recognized start point. The method and system of the invention allows a simulation developer to create “multi-path” simulations more quickly and efficiently by, for example, (i) recognizing which junctions in the simulation are starting points for multiple paths, (ii) where the multiple paths converge, and (iii) the content of the multiple paths.
    Type: Grant
    Filed: March 9, 2006
    Date of Patent: August 16, 2011
    Assignee: International Business Machines Corporation
    Inventor: Bradley K. Wells
  • Patent number: 8001539
    Abstract: An apparatus and method for managing historical data includes receiving a compiled application program and a declarative specification. An enhancer generates one or more representations of at least one data class defined in the application program based on at least one historical metatag and historical metadata associated therewith from the declarative specification. The enhancer also generates configuring instructions for configuring a database in accordance with the storage representation(s), an enhanced compiled application program including instructions for accessing data in the configured database, and a historical updater program for updating the data in the database based on the historical metadata.
    Type: Grant
    Filed: February 28, 2007
    Date of Patent: August 16, 2011
    Assignee: JDS Uniphase Corporation
    Inventor: Kevin Mitchell
  • Patent number: 7992136
    Abstract: A computer implemented method, apparatus, and computer usable program code for profiling an application. Data is collected for analyzing performance of the application using a device driver for a profiler in an operating system kernel in response to the application executing in a virtual machine. Data is stored in a buffer. A report is generated containing the data from the buffer in response to an event in the virtual machine, wherein the application is profiled using the report. Collection of the data is halted in response to the application terminating execution in the virtual machine.
    Type: Grant
    Filed: October 18, 2006
    Date of Patent: August 2, 2011
    Assignee: International Business Machines Corporation
    Inventors: Trent A. Gray-Donald, Frank E. Levine
  • Patent number: 7987452
    Abstract: An apparatus, program product and method utilize metadata collected for a lock in a computer program to determine an optimal lock acquisition strategy for the lock. The metadata is typically collected via profiling of the computer program to determine a wait characteristic for the lock in the particular runtime environment in which the computer program executes, and the metadata is used to select from among different lock access implementations to be used to attempt to acquire the lock, often enabling an optimum lock access implementation to be selected for a lock.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: July 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Curtis Duane Kronlund, Scott Alan Moore, Gregory Allan Olson, Mark Douglas Schroeder
  • Patent number: 7984429
    Abstract: A method of instrumenting one or more units of an application program is disclosed. Each unit can have one or more interfaces through which communications pass through the unit. Client units can request creation of a server unit. When they do so, the call is intercepted and sent to a unit creation function, which creates the server unit and returns a reference to an interface of the server unit. When a reference to an interface of the server unit is detected, an interface wrapper is created for the interface, the interface wrapper comprising a reference to instrumentation, the reference to the interface, and a reference to a type description of the interface. The client receives a reference to the interface wrapper in place of a reference to the interface, and thereafter is able to treat the reference to the interface wrapper as if it were a reference to the interface.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Publication number: 20110167412
    Abstract: A system and method for predictive analysis includes generating an execution trace on an instrumented version of source code for a multithreaded computer program. Interleavings which potentially lead to a violation in the program are statically generated by performing a static predictive analysis using a Universal Causality Graph (UCG) to generate alternative interleavings that might lead to an error. The UCG includes a unified happens-before model for the concurrent program and a property being analyzed. The interleavings are symbolically checked to determine errors in the program.
    Type: Application
    Filed: October 19, 2010
    Publication date: July 7, 2011
    Applicant: NEC Laboratories America, Inc.
    Inventors: Vineet Kahlon, Chao Wang
  • Patent number: 7975263
    Abstract: A method for managing a profile includes generating an initial profile of code using an initial sampling frequency. An information entropy value of the profile is computed. A representative profile of the code is determined from additional profiles using a sampling frequency determined from the information entropy value. Other embodiments are disclosed and claimed.
    Type: Grant
    Filed: January 10, 2006
    Date of Patent: July 5, 2011
    Assignee: Intel Corporation
    Inventors: Robert Geva, Jinpyo Kim
  • Patent number: 7975261
    Abstract: Aiming at enabling an analysis of relationship between a task transition and performance information such as mis-caching in a multiprocessor system and clearly identifying a relationship between a degree of parallelism and the task transition of the system processing, trace information and performance information corresponding to the trace information are obtained from memory, and the task transition state and performance information based on the trace information are displayed by superimposing on the transition chart. A degree of parallelism corresponding to an operation state of a plurality of processors is calculated on the basis of the trace information, and the degree of parallelism is displayed by being temporally synchronized with the task transition chart.
    Type: Grant
    Filed: May 25, 2007
    Date of Patent: July 5, 2011
    Assignee: Fujitsu Semiconductor Limited
    Inventors: Masaomi Teranishi, Yasushi Hasegawa, Hiroyuki Morozumi
  • Publication number: 20110161936
    Abstract: A selection method and related application is provided for a framework-based application having programming applications with both language program files and configuration files. In one embodiment, the method comprises abstracting a frame configuration model instance by analyzing configuration files prior to any modifications made to the program. The frame configuration model instance denoting individual configuration nodes in the framework model and further defining relationship between one or more code units in the configuration nodes and program code units in the application. Then one or more control test cases are constructed by profiling select test cases of the application, wherein the control flow consists of code units traversed during test case execution and control flow of said code units. Subsequently, an extended control flow is obtained by correlating configuration nodes in the framework configuration model instance with the code units in said control flow.
    Type: Application
    Filed: December 23, 2010
    Publication date: June 30, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES
    Inventors: Sheng Huang, Shao C. Li, Zhong J. Li, He H. Liu, Hua F. Tan, Jun Zhu, Wei Zhu
  • Patent number: 7971192
    Abstract: A method of analyzing simulation results of a model, the method comprising: obtaining a process model including model elements including tasks, non-reusable sub-processes, and called reusable sub-processes; assigning a unique identifier to each model-element; generating unique model-element-proxies for all model-elements except for model elements corresponding to a model-reusable-sub-process or a model element contained by a model-reusable-sub-process; generating unique model-element-proxies for model-reusable-sub-processes and model-elements contained by model-reusable-sub-processes; associating each generated model-element-proxy with a corresponding model-element; executing simulation of the process model and persisting for each element instance data produced during simulation, the instance data including an element instance identifier and a corresponding model-element-proxy identifier; querying persisted simulation data for information using model-element-proxy identifiers.
    Type: Grant
    Filed: September 6, 2006
    Date of Patent: June 28, 2011
    Assignee: International Business Machines Corporation
    Inventor: Mariusz Tyborowski
  • Patent number: 7971190
    Abstract: In general, in one aspect, the disclosure describes a method that includes interrupting a program running on a processor. The active instruction that was interrupted is identified. Event counts since a previous interrupt are harvested.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: June 28, 2011
    Assignee: Intel Corporation
    Inventors: Bob Davies, James Chapple, William K. Cheung, Guoping Wen, Carolyn Dase, Dan Nowlin
  • Patent number: 7971191
    Abstract: The present disclosure relates to a system and method for analyzing a process. Embodiments of the present invention may include obtaining a process execution trace including at least one subtrace, the process execution trace comprising at least one loop repetition. Further, embodiments may include removing loop repetitions within the process execution trace, identifying the subtrace as a point for data collection in a process, and collecting data related to the subtrace.
    Type: Grant
    Filed: June 10, 2004
    Date of Patent: June 28, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Maria Guadalupe Castellanos, Fabio Casati, Ming-Chien Shan
  • Publication number: 20110154299
    Abstract: An instrumentation apparatus and method capable of adding an additional operation to an execution program, are provided. A processor for supporting instrumentation assigns an instrumentation bit to an instruction that includes instrumentation code that needs to be executed. The processor jumps to an address of a memory for execution of the instrumentation code, and stores the jump address in a register. If a fetched instruction includes the instrumentation bit, the processor jumps to the jump address stored in the register and executes the instrumentation code.
    Type: Application
    Filed: August 16, 2010
    Publication date: June 23, 2011
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Hyo-Young KIM, Sung-Do Moon, Jung-Gyu Park
  • Publication number: 20110154298
    Abstract: A system and method for collecting instrumentation data in a processor with a pipelined instruction execution stages arranged in an out-of-order execution architecture. One instruction group in a Global Completion Table is marked as a tagged group. Instrumentation data is stored for processing stages processing instructions associated with the tagged group. Sample signal pulses trigger a determination of whether the tagged group is the next-to-complete instruction group. When the sample pulse occurs at a time when the tagged group is the next-to-complete group, the instrumentation data is written as an output. Instrumentation data present during sample pulses that occur when the tagged group is not the next-to-complete group is optionally discarded. Sample pulses are generated at a rate equal to the desired sample rate times the number of groups in the global completion table to better ensure occurrence of a next-to-complete tagged group.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Applicant: International Business Machines Corporation
    Inventors: Gregory W. Alexander, Jane Bartik, Michael Billeci, David Hutton, Christian Jacobi, Jang-Soo Lee, Eric Schwarz, Chung-Lung Shum, Phil C. Yeh
  • Publication number: 20110154297
    Abstract: A method and system for instrumentation are provided along with a method for instrumentation preparation. The method for instrumentation preparation may comprise obtaining address data of an original instruction in an original instruction stream, obtaining kernel mode data comprising a kernel breakpoint handler, obtaining user mode data comprising a user breakpoint handler, allocating a page of a process address space, creating a trampoline, associating the trampoline with a breakpoint instruction, and replacing the original instruction with the breakpoint instruction. The method for instrumentation may comprise detecting the breakpoint instruction, calling the kernel breakpoint handler, modifying an instruction pointer via the kernel breakpoint handler such that the instruction pointer points to the trampoline, and executing the trampoline.
    Type: Application
    Filed: December 21, 2009
    Publication date: June 23, 2011
    Applicant: International Business Machines Corporation
    Inventors: BALBIR SINGH, Maneesh Soni
  • Patent number: 7966604
    Abstract: An object based automatic testing method can be used to test web-based applications. An executable portion of the web-based application is located, an object corresponding to the executable portion and stored in a library of objects in a computer readable memory is called, the object is executed to test the executable portion, and a determination is made as to whether the executable portion performed according to specification. No mouse or keyboard action is required execute this testing method.
    Type: Grant
    Filed: August 14, 2006
    Date of Patent: June 21, 2011
    Assignee: Honeywell International Inc.
    Inventor: Abhay Tomar
  • Patent number: 7962905
    Abstract: Code can be injected into a compiled application through the use of probes comprised of instrumentation code. Probes can be implemented in a custom high level language that hides low level instruction details. A directive file contains instructions on injecting a probe into a compiled application. An instrumentation engine reads these instructions and injects the probe into the compiled application at the appropriate injection points. Multiple probes can be used, and can be stored in a probe library. Each probe can inject code into the application at, for example, a package, class, method, or line of the compiled application. Calls can also be made to external runtime libraries.
    Type: Grant
    Filed: September 13, 2007
    Date of Patent: June 14, 2011
    Assignee: Oracle International Corporation
    Inventor: Rajendra Inamdar
  • Patent number: 7962314
    Abstract: A processor having one or more processor cores includes execution logic that may execute instructions including one or more processes. Each process may include one or more execution threads. The processor also includes a profiling mechanism that includes monitor logic and a monitor process. The monitor logic may monitor the one or more processes and provide access to performance data associated with the one or more processes without interrupting a flow of control of the one or more processes being monitored. The monitor process may gather the performance data. In addition, the monitor process may include program instructions executable by the one more processor cores while operating in user mode.
    Type: Grant
    Filed: December 18, 2007
    Date of Patent: June 14, 2011
    Assignee: GLOBAL FOUNDRIES Inc.
    Inventor: Anton Chernoff
  • Patent number: 7962901
    Abstract: Model checking has been used to verify program behavior. However, exploration of the model is often impractical for many general purpose programs due to the complexity of an exploding state space. Instead, a program is instrumented with code that records pointer dereference information. The instrumented program is executed thereby recording pointer dereference frequency information. Then, a model of the program is explored using the pointer dereference frequency information to direct state space exploration of the model.
    Type: Grant
    Filed: April 17, 2006
    Date of Patent: June 14, 2011
    Assignee: Microsoft Corporation
    Inventors: Stephen McCamant, Trishul Chilimbi
  • Publication number: 20110138366
    Abstract: Implementations of the present disclosure provide methods including executing a profiling session to profile one or more applications running on a virtual machine executed on a server, collecting profiling data over a first time interval during the profiling session, receiving user input generated at a client device, the client device being in communication with the server, in response to the user input, generating a snapshot corresponding to a subset of the profiling data, the snapshot being identified based on a second time interval that is within the first time interval, and transmitting the profiling data to generate a snapshot view for display on a client device, the snapshot view corresponding to the subset of the profiling data.
    Type: Application
    Filed: December 4, 2009
    Publication date: June 9, 2011
    Applicant: SAP AG
    Inventors: Michael Wintergerst, Dietrich Mostowoj, Ralf Schemlter
  • Publication number: 20110138363
    Abstract: Implementations of the present disclosure provide methods including executing an application, generating a method parameter trace, the method parameter trace providing one or more parameter values corresponding to one or more methods called during execution of the application, generating an event trace, the event trace identifying one or more events occurring during execution of the application, and combining the method parameter trace and the event trace to provide a profile of events occurring during each of the one or more methods based on the one or more parameter values.
    Type: Application
    Filed: December 4, 2009
    Publication date: June 9, 2011
    Applicant: SAP AG
    Inventors: Ralf Schmelter, Michael Wintergerst, Dietrich Mostowoj
  • Publication number: 20110138365
    Abstract: Implementations of the present disclosure provide methods including executing an application using one or more processors, generating a plurality of method call stacks, each method call stack comprising a plurality of methods invoked by the application, providing a component call stack based on a method call stack of the plurality of method call stacks, the component call stack comprising a plurality of components, each component being defined by one or more methods of the plurality of methods, and generating component statistics based on the component call stack and profiling data collected during the executing.
    Type: Application
    Filed: December 4, 2009
    Publication date: June 9, 2011
    Applicant: SAP AG
    Inventors: Ralf Schmelter, Michael Wintergerst, Dietrich Mostowoj
  • Publication number: 20110138367
    Abstract: A method, system, and/or computer program product for detecting memory leaks in a computer application includes instrumenting one or more software methods to increment and decrement a reference count of a software object. The reference count of the software object may be set to a predetermined count when the software object is created. The one or more software methods instrumented to increment and decrement the reference count of the software object may be executed. When the one or more software methods return from execution, the method, system, and/or computer program product may determine whether the reference count is set to the predetermined count.
    Type: Application
    Filed: December 9, 2009
    Publication date: June 9, 2011
    Inventor: Victor L. Havin
  • Publication number: 20110131553
    Abstract: A probe (hereinafter also referred to as a breakpoint) can be added into source code of an application program. The probe can be exported to a file or any other form of storage. The probe is then associated with a unique test case for the application program thereby creating a direct mapping between the application program and the test case for the application program. In one embodiment, the probe can be added to at least one of a function or module of the application program.
    Type: Application
    Filed: November 30, 2009
    Publication date: June 2, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Saurabh Singh
  • Patent number: 7954095
    Abstract: An apparatus, program product and method optimize the operation of a parallel computer system by, in part, collecting performance data for a set of implementations of a function capable of being executed on the parallel computer system based upon the execution of the set of implementations under varying input parameters in a plurality of input dimensions. The collected performance data may be used to generate selection program code that is configured to call selected implementations of the function in response to a call to the function under varying input parameters. The collected performance data may be used to perform more detailed analysis to ascertain the comparative performance of the set of implementations of the function under the varying input parameters.
    Type: Grant
    Filed: November 1, 2006
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventors: Charles Jens Archer, Amanda Peters, Joseph D. Ratterman
  • Publication number: 20110126176
    Abstract: Method, system, and computer program product for providing programming support to a debugger are disclosed. The method includes defining at least one debugger programming statement, and instructing the debugger to execute the at least one debugger programming statement which modifies a least a portion of the computer program during execution of the computer program without recompiling the computer program. The debugger may be instructed to execute the at least one debugger programming statement at a specified position of the computer program. The at least one debugger programming statement may include a delete instruction that instructs the debugger to prevent one or more programming statements at a specified position in the computer program from being executed. The debugger may be instructed to execute the at least one debugger programming statement instead of one or more programming statements at a specified position in the computer program without recompiling the computer program.
    Type: Application
    Filed: November 25, 2009
    Publication date: May 26, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Madhusudanan Kandasamy, Vidya Ranganathan
  • Publication number: 20110126174
    Abstract: 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: Application
    Filed: November 23, 2009
    Publication date: May 26, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Kirk J. Krauss
  • Patent number: 7950001
    Abstract: A method of instrumentation, preferably a computer implemented method for instrumentation, in a program which contains an original program. The original instruction is copied into a user address space which has an unused stack space. When a breakpoint is encountered the original instruction is executed out-of-line in the unused stack space by single stepping. Using this debugging in a multithreaded environment is advantageous as all threads will switch into the unused stack space and execute the breakpoint.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: May 24, 2011
    Assignee: International Business Machines Corporation
    Inventors: Prasanna S Panchamukhi, Maneesh Soni
  • Patent number: 7945901
    Abstract: A system and method for facilitating software profiling procedures in a target device includes a target CPU that executes software instructions from target routines of the target device to perform various processing tasks. A program counter of the target device is periodically updated with a current program counter value corresponding to one of the software instructions that is being currently executed by the target CPU. A shadow register is advantageously implemented in the target device to be directly accessible by profiler software on a host computer. The shadow register is periodically updated with a profiling program counter value that corresponds to the current program counter value. The profiler software may then directly and transparently access the shadow register to read the profiling program counter value for performing the software profiling procedures.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: May 17, 2011
    Assignee: Seiko Epson Corporation
    Inventors: Juraj Bystricky, Doug McFadyen
  • Publication number: 20110113407
    Abstract: Program profile data is used to prepare temporal cost-incurrence fingerprints, which show when a given method or method frame incurred specified cost(s) during a period of interest while a program was/is executing. Relationships between methods can be elicited by studying their temporal cost-incurrence fingerprints. Methods which are often good candidates for optimization can be automatically selected by identifying a small set of methods whose amount of cost lies within specified bounds relative to the most costly method, or in absolute terms, and whose respective fingerprints differ from one another.
    Type: Application
    Filed: November 10, 2009
    Publication date: May 12, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Rico Mariani, Hazim Shafi
  • Patent number: 7941787
    Abstract: A performance tuning method tune a running performance of a program, by managing a measuring condition that is set when the running performance of the program was measured under an arbitrary measuring environment and performance information of the program acquired as a result of the measurement, in a linkable manner with respect to candidates of a measuring environment of the next measurement that is different from the arbitrary measuring environment, automatically setting the measuring condition to be used to measure the running performance of the program using a measuring environment that is different from the arbitrary measuring environment, based on the information that is managed in the linkable manner, and tuning the running performance of the program depending on the performance information.
    Type: Grant
    Filed: August 21, 2006
    Date of Patent: May 10, 2011
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Manabu Watanabe
  • Patent number: 7941639
    Abstract: A method for protecting the execution of a main program against possible traps, including, on occurrence of an instruction from the main program, starting a time counter of a given count according to next instructions of the main program, and executing, once the counter has reached its count, at least one instruction of a secondary program from which the result of the main program depends.
    Type: Grant
    Filed: July 5, 2006
    Date of Patent: May 10, 2011
    Assignee: STMicroelectronics S.A.
    Inventors: Yannick Teglia, Pierre-Yvan Liardet, Alain Pomet