Entries |
Document | Title | Date |
20080209404 | METHOD AND SYSTEM FOR ANALYZING MEMORY LEAKS OCCURRING IN JAVA VIRTUAL MACHINE DATA STORAGE HEAPS - An invention is disclosed for analyzing memory leaks occurring in Java Virtual Machine (JVM) data storage, consisting of a dynamically modifiable JVM “profiler” and an “object tracker” tool for analyzing the output from the profiler. Specifically, a method and system is disclosed for programming a JVM profiler used to analyze and correct memory leaks in stored data heaps, consisting of a program segment (or “stub”) initialized by the JVM application program interface to determine the parameters to be passed to the main profiler memory leak analysis program logic, which is then initialized by the stub to examine a minimal number of “heap dumps” in order to identify data elements or objects for the existence and/or correction of memory leaks. Updated information on data elements or objects can be requested from the profiler as needed by use of the object movement tracking option to record the details of subsequent changes in data memory storage status once a heap dump has been obtained. | 08-28-2008 |
20080216058 | Method for validating a graphical workflow translation - A method for validating a translation of a graphical workflow of activities into an arbitrary, but structured language uses as input a term of a high level graphically expressed language having a number of graphical elements related logically to each other and analyzes its content and/or structure in order to translate this content and/or structure into a structured set of instructions. The graphical workflow of activities is simulated to arrive at a first set of activity results. Each instruction is translated into a generic language in order to trace the execution of such instruction to arrive at a second set of results from the translated instructions. The first set of activity results is compared with the second set of results, and the translation is validated in case of a match among the first set of activity results and the second set of results. | 09-04-2008 |
20080222613 | METHOD AND APPARATUS FOR DATA PROCESSING - A method and system can include multiple data handling stages for manipulating tracked information associated with content distributed to users and/or computers, such as static objects, media objects, and/or software objects, for example. The content can be distributed as widget instances and the associated tracked information can be received over a network. The information received can be associated with a session corresponding to each widget instance and/or with multiple identifiers, such as widget, user, content, session, content aggregation point, processor, and/or placement identifiers, for example. Data handling processes, including sorting, storing, filtering, combining, queuing, and/or authenticating, for example, can be performed during the data handling stages. The processed information can be used to determine modifications to a behavior associated with widgets and/or widget containers. | 09-11-2008 |
20080244530 | CONTROLLING TRACING WITHIN COMPILED CODE - Tracing within a processing environment is controlled. Trace directives are automatically included within code being compiled in order to control where one or more traces begin and end within the code. The trace directives provide a framework for mapping traces to well understood boundaries of the code. | 10-02-2008 |
20080244531 | Method and system for generating a hierarchical tree representing stack traces - A system and method are provided to generate a hierarchical tree representing stack traces. In one embodiment, stack trace elements in a plurality of stack traces relating to profiling of an application executing at a first virtual machine are identified, the stack trace elements relating to profiling events being detected during the profiling of the application. The identified stack trace elements are sorted as one of parent elements; parent/child elements, or child elements based on a number of times a stack trace element has appeared in the plurality of stack traces and its relationship with other elements in the plurality of stack traces. A tree having nodes to represent the stack trace elements is created such that that the child elements branch from the parent/child elements or the parent elements, and the parent/child elements branch from the parent elements. | 10-02-2008 |
20080244532 | Testing System, and a Method and Computer Program For Testing A System Management Program - A testing system for a reverse client-server system management program comprises a server connected to one or more recipient devices and emulating devices through one or more repeaters. The recipient devices act as targets for the management program and the emulating devices emulate one or more of the recipient devices, to enable an assessment of the scalability of the management program to a large number of targets. The repeaters direct management requests from the server to the target devices depending on the configuration of the hook and/or the nature of the operation requested by the management request. The recipient devices and emulating devices execute the required system management operation on receipt of a management request from the server (via the repeaters). The recipient devices and emulating devices generate and transmit a report detailing the outcome of the system management operation. | 10-02-2008 |
20080244533 | System for and Method of Capturing Performance Characteristics Data From A Computer System and Modeling Target System Performance - A system for, method of and computer program product captures performance-characteristic data from the execution of a program and models system performance based on that data. Performance-characterization data based on easily captured reuse distance metrics is targeted, defined as the total number of memory references between two accesses to the same piece of data. Methods for efficiently capturing this kind of metrics are described. These data can be refined into easily interpreted performance metrics, such as performance data related to caches with LRU replacement and random replacement strategies in combination with fully associative as well as limited associativity cache organizations. Methods for assessing cache utilization as well as parallel execution are covered. | 10-02-2008 |
20080244534 | SYSTEM AND METHOD FOR TROUBLESHOOTING SOFTWARE CONFIGURATION PROBLEMS USING APPLICATION TRACING - A software system is disclosed which facilitates the process of tracing the execution paths of a program, called a client or application. Trace data corresponding to selected system resources that interact with the execution of the application is collected during the tracing operation and stored in an application signature. A computer system user can generate trace options, trace the application, and compare the application signature to a known software configuration. The application signature is compared to a reference signature created by tracing the execution of the application on a system with the known software configuration. In another embodiment, the application signature is compared to a static configuration of a reference computer. | 10-02-2008 |
20080256519 | Tracking method for embedded system - A tracking method for embedded systems is disclosed. A stacking way is used for viewing and tracing. In the beginning, a program counter (PC) and a stack segment of a function are found out. Then an instruction of the function is learned according to the stack segment and further stack size of the function is calculated. In accordance with the stack size, a stack frame is viewed to find out a recursive program counter of a previous function. Next according to the recursive program counter, an entry point of the previous function is calculated. Therefore, the system knows the memory block is required by which function and further finds out what causes computer shut-down or program errors. Moreover, stack status before the error occurred in the stack frame is got so as to get a returning path that enables the processor going back to status before the error occurred. | 10-16-2008 |
20080270994 | METHOD AND APPARATUS OF PARTITIONED MEMORY DUMP IN A SOFTWARE SYSTEM - A method and apparatus of partitioned memory dump in a software system is provided, the apparatus comprising: a monitor for, during the execution of the software system, monitoring the memory allocations and deallocations of objects in the software system and according to the results of the monitoring, assigning the allocated objects in the software system into corresponding memory partitions, wherein the memory space of the software system is partitioned according to a given partitioning scheme; an event detector for detecting a triggering event of memory dump; and a dumper for dumping related memory partitions according to the detected triggering event of memory dump. Preferably, the apparatus further comprises an analyzer for analyzing the dumped information, and generating a new dump triggering event or a new partitioning scheme based on the analysis results. | 10-30-2008 |
20080270995 | Method for Automatic Detection of Build Regressions - A method and apparatus for automatically performing regression processing on trace data are provided. With the apparatus and method, call tree data structures are generated for two or more executions of two or more builds of a computer program. The apparatus and method perform a “tree-minimization” operation on each set of call tree data structures for each of the builds to generate minimized call tree data structures for each build of the computer program. The minimized call tree data structures are then subtracted from one another to generate a subtracted minimized call tree data structure. From this subtracted minimized call tree data structure, the portions of the computer program that are different from build to build and which appreciably and consistently affect the difference in execution of the computer program from build to build may be identified. Thus, the analyst's attention is directed to these areas of the computer program code which may be optimized in order to obtain better execution of the computer program. | 10-30-2008 |
20080288925 | METHOD FOR GENERATING TEST CASES FOR SOFTWARE PROGRAM - The method for generating test cases for a software program includes the step of setting a plurality of reference points in accordance with a sentence of the software program. The tracing pairs each including an initial test case as well as its adjacent vertex are set if one of them is among the reference points and the other one is not among the reference points. The essential test cases are chosen from the tracing pairs. | 11-20-2008 |
20080288926 | Computer Implemented Method and System for Accurate, Efficient and Adaptive Calling Context Profiling - Computer implemented method, system and computer usable program code for profiling the execution of an application that is both space-and time-efficient and highly accurate. A computer implemented method for profiling the execution of an application includes sampling execution characteristics of the application at a plurality of sampling points to provide samples, and deriving a calling context of the samples. The application is continuously executed between sampling points while additional profiling data is gathered. | 11-20-2008 |
20080295081 | FRAMEWORK FOR CONDITIONALLY EXECUTING CODE IN AN APPLICATION USING CONDITIONS IN THE FRAMEWORK AND IN THE APPLICATION - A computer implemented method, apparatus, and computer usable program code for returning a return code to an error hook in an application using a framework. An identifier and a pass-through are received from the error hook. The error hook is software code in the application. The pass-through is a set of parameters. If the identifier has an active status, a set of framework conditions is retrieved using the identifier. If the set of framework conditions is met, an inject callback is retrieved using the error identifier. The inject callback is called with the error identifier and the pass-through. An inject callback return code is received. If the inject callback return code is an execute return code, the execute return code is returned to the error hook. | 11-27-2008 |
20080307395 | Providing Registration of a Communication - A computer-implemented method for providing registration of a communication includes locating a reference in metadata for an object-processing framework. The reference identifies a portion of logic that performs a specific service. The method includes storing at least part of the located reference in a trace object. The method includes replacing the located reference in the metadata with a reference to the trace object. | 12-11-2008 |
20080320450 | RECOVERABLE RETURN CODE TRACKING AND NOTIFICATION FOR AUTONOMIC SYSTEMS - A system, method and article of manufacture return code management in autonomic systems and more particularly to managing execution of operations in data processing systems on the basis of return code tracking. One embodiment provides a method for managing execution of an operation in a data processing system. The method comprises tracking return codes received from previous executions of the operation in the data processing system, determining an execution behavior of the operation from the tracked return codes, and managing a subsequent execution of the operation on the basis of the determined execution behavior. | 12-25-2008 |
20090007075 | Method and System for Tracing Profiling Information Using Per Thread Metric Variables with Reused Kernel Threads - A method and system for tracing profiling information using per thread metric variables with reused kernel threads is disclosed. In one embodiment kernel thread level metrics are stored by the operating system kernel. A profiler request metric information for the operating system kernel in response to an event. After the kernel thread level metrics are read by the operating system for a profiler, their values are reset to zero by the operating system kernel. The profiler then applies the metric values to base metric values to appropriate Java threads that are stored in nodes in a tree structure base on the type of event and whether or not the kernel thread has been reused. In another embodiment non-zero values of thread level metrics are entered on a liked list. In response to a request from a profiler, the operating system kernel reads each kernel thread's entry in the linked list and zeros each entry. The profiler can then update the intermediate full tree snapshots of profiling information with the collection of non-zero metric variables. | 01-01-2009 |
20090007076 | Synchronizing Triggering of Multiple Hardware Trace Facilities Using an Existing System Bus - A method, apparatus, and computer program product are disclosed in a data processing system for synchronizing the triggering of multiple hardware trace facilities using an existing bus. The multiple hardware trace facilities include a first hardware trace facility and a second hardware trace facility. The data processing system includes a first processor that includes the first hardware trace facility and first processing units that are coupled together utilizing the system bus, and a second processor that includes the second hardware trace facility and second processing units that are coupled together utilizing the system bus. Information is transmitted among the first and second processing units utilizing the system bus when the processors are in a normal, non-tracing mode, where the information is formatted according to a standard system bus protocol. Trigger events are transmitted to the hardware trace facilities utilizing the same standard system bus, where the trigger events are also formatted according to the standard system bus protocol. | 01-01-2009 |
20090013312 | Executable High-Level Trace File Generation System and Method - An executable high-level trace file generation system and method provide reduced debugging effort and time, particularly on initial startup of new or modified hardware. An executable program invokes high-level application programming interfaces (APIs), to perform various tasks. Instructions within the APIs generate a trace file documenting the invoked sequence of APIs by writing a line to a trace file that documents the API and input parameters received by the API. Upon completion of execution of the API, the return value may be documented as a comment line in the trace file. The resulting trace file is then re-executable as a script and may be edited to alter the sequence of APIs invoked and/or the arguments provided. The script interpreter may be a command line interface through which the APIs are invoked, and trace files may be similarly generated that document sequences of manually entered commands. | 01-08-2009 |
20090019428 | Method for Analyzing Transaction Traces to Enable Process Testing - Techniques are provided for analyzing testing coverage of one or more software modules to provide process coverage statistics. The techniques include obtaining one or more coverage measures from a test specification document, performing a trace on each of the one or more coverage measures during a test, analyzing each trace to generate a run-time service choreography model for a process, wherein the model includes each of one or more service choreography patterns occurring in the process, and using the model to provide statistical data on test coverage according to a process definition. | 01-15-2009 |
20090037885 | EMULATING EXECUTION OF DIVERGENT PROGRAM EXECUTION PATHS - Methods, systems, and computer storage media having computer-executable instructions embodied thereon that, when executed, perform methods in accordance with embodiments hereof, for emulating execution of divergent program execution paths to determine whether any “would be” program defects exist in a particular divergent program execution path and/or to determine the nature of such “would be” program defects are provided. The dynamic execution state (e.g., register values and memory locations) of a program being executed is cloned at a point of potential divergence and a virtual processor having the same dynamic execution state is generated. Subsequently, utilizing the virtual processor, a test trace is initiated along the divergent program execution path and information gathered during the test trace is analyzed to identify any program defects that may have occurred had the program execution followed the divergent path. | 02-05-2009 |
20090037886 | APPARATUS AND METHOD FOR EVALUATING A FREE-RUNNING TRACE STREAM - A system includes a processor to generate a free-running trace stream and a probe with a real-time decoder to dynamically detect a trigger included in the free-running trace stream. | 02-05-2009 |
20090037887 | Compiler-inserted predicated tracing - One embodiment relates to a computer-implemented method of generating an executable program which includes inserting predicated calls to trace routines during compilation of the source code. Each predicated call comprises a function call that is conditional upon a value stored in a predicate register. The object code generated from compiling said source code is subsequently linked with object code which includes the trace routines. Another embodiment relates to a computer-implemented method of executing a deployed computer program with low-level tracing using compiler-inserted predicated tracing calls. A tracing mode is enabled by setting one or more predicate register bits in a microprocessor. Predicated calls to trace routines insert trace data into at least one trace buffer. Upon a system crash, a core file including said trace data is written out. Other embodiments, aspects and features are also disclosed. | 02-05-2009 |
20090044176 | Method and Computer Program Product for Dynamically and Precisely Discovering Deliquent Memory Operations - A method and computer product for dynamically and precisely discovering delinquent memory operations through integration of compilers, performance monitoring tools, and analysis tools are provided. The method includes compiling an application, and linking the application with a tracing library to generate executable, compiler annotated information and linker mapping information. The application is executed to obtain runtime trace information that includes hardware performance counters and tracing library instrumentation events. The trace information, the compiler annotated information, and the linker mapping information are analyzed to produce a delinquent memory operation file containing delinquent memory operation information. The delinquent memory operation information of the delinquent memory operation file is read by the compiler to perform memory reference mapping to guide static analysis and memory hierarchy optimization. The memory reference mapping maps delinquent memory operations precisely, both externally in a user source code and internally in a compiler intermediate representation. | 02-12-2009 |
20090049428 | ERROR TRACING WITH CONTEXT HISTORY - Trace messages generated during execution of programming code are logged in a trace log. The logged trace messages logged during execution of a portion of the programming code are deleted from the trace log when the portion of programming code executes without an error. The logged trace messages are kept in the trace log when an error occurs during execution of the portion of the programming code. The trace log is output when the execution of the programming code ends. | 02-19-2009 |
20090049429 | Method and System for Tracing Individual Transactions at the Granularity Level of Method Calls Throughout Distributed Heterogeneous Applications Without Source Code Modifications - The present invention provides a method and system for tracing and monitoring of distributed transactions spanning multiple threads or processes, running on multiple host systems, connected by a computer network. The correlation of distributed transactions is based on information that uniquely may identify execution paths within a virtual machine, additional to information which uniquely may identify the virtual machine that processes the execution path. The correlation information is transferred from a monitored thread to threads that are activated by the monitored thread and allows to reconstruct parent-child relations between different threads. Participating threads may run in different processes, in different virtual machines or on different host systems. | 02-19-2009 |
20090055805 | Method and System for Testing Software - A method and system are disclosed for testing the cpu scalability of a software application. The method comprises the steps of running the software application a plurality of times on a computer system such that each time the software application is ran on the computer system, a different number of processors are used to run the software application. The method further comprises the steps of storing the resultant outputs of the computer system, and using those outputs to determine the cpu scalability of the software application. In a preferred embodiment of the invention, a software tool, referred to as (he harness, is loaded onto the computer system to perform the running, storing and using steps. For instance, each time that the software application is run on (he computer system, the software tool may configure a different subset of the processors to run the software application. | 02-26-2009 |
20090070744 | CRM SYSTEM AND METHOD HAVING DRILLDOWNS, ACLs, SHARED FOLDERS, A TRACKER AND A MODULE BUILDER - A business application system, such as a CRM system, is provided wherein the system include deeper chart drill-downs, access control lists, shared folders, a tracker module and/or a modular builder. | 03-12-2009 |
20090070745 | SYSTEM AND CORRESPONDING METHOD FOR TESTING SOFTWARE EMBEDDED IN AN ELECTRONIC DEVICE - A system includes an electronic device and an external tester to be temporarily coupled thereto. The electronic device includes an integrated circuit processor. The integrated circuit processor includes processor circuitry for executing dedicated code to perform a dedicated application, and an execution unit coupled to the processor circuitry. The external tester is to be temporarily coupled to the execution unit to collect execution characteristics while the processor circuitry executes the dedicated code to thereby test the dedicated code. | 03-12-2009 |
20090070746 | METHOD FOR TEST SUITE REDUCTION THROUGH SYSTEM CALL COVERAGE CRITERION - A method and apparatus is disclosed herein for determining whether a test case is to be included in a test suite. In one embodiment, the method comprises executing an application with test inputs of a test case during performance of software application testing and using a Finite State Machine (FSM) model of observable events generated from execution of other test cases in the test suite to determine whether to include the test case in the test suite for use in future testing of the application. | 03-12-2009 |
20090083714 | REMOTE MONITORING OF LOCAL BEHAVIOR OF NETWORK APPLICATIONS - Computer-executable instructions comprising some or all of a program can be delivered to a client for execution on a real-time basis such that the client receives anew the computer-executable instructions for each new execution of the program. Such an environment enables instrumentation instructions to be inserted into the computer-executable instructions after a request and prior to the delivery of the computer-executable instructions. The inserted instrumentation instructions can be spread across multiple deliveries of the same computer-executable instructions, and they can be modified to account for information received from previously inserted instrumentation instructions. The instrumentation instructions can be inserted as part of the server process, the client process, or as part of a proxy server that can be used at the discretion of the program developer. | 03-26-2009 |
20090083715 | METHOD AND SYSTEM FOR INSTRUCTION TRACING WITH ENHANCED INTERRUPT AVOIDANCE - A method, system, apparatus, and computer program product is presented for tracing operations. A set of related methodologies can be used within instruction tracing software, such as a tracing program, to reduce its tendency to generate interrupts that cause unwanted effects in the system that is being captured. A first methodology allows access to protected memory blocks so that instructions may be read from those memory blocks. A second methodology provides for the trace output buffer to be accessed using physical addressing. A third methodology traces only instruction addresses, which are resolved later during a post-processing phase of operation. A fourth methodology comprises multiple different methods for obtaining copies of instructions that have already executed rather than obtaining them before they are executed. | 03-26-2009 |
20090089760 | COMPUTER PROGRAM PRODUCT OF CODE COVERAGE UTILIZING EFFICIENT DYNAMIC MUTATION OF LOGIC (EDML) - A computer program product for code coverage utilizing efficient dynamic mutation of logic (EDML) are provided. A source code is read, and instrumentation points are located. Self Modifying Code (SMC) is inserted at the instrumentation points producing instrumented code. Additional functions are inserted in the source code to enable read and/or reset of code coverage statistics. The instrumented code is compiled, and executables are run for a period of time during which zero or more instrumentation points are executed. In response to executing instrumentation points, instructions are executed to record execution of the instrumented code. Instructions of the instrumented code overwrite themselves at certain points so that a next execution of the instrumentation points skips over the instrumented code at the certain points. Code coverage statistics are gathered and recorded. The code coverage statistics are reset to begin another period of time for gathering code coverage statistics. | 04-02-2009 |
20090089761 | METHOD, SYSTEM AND COMPUTER PROGRAM FOR DEBUGGING SOFTWARE APPLICATIONS IN A WEB ENVIRONMENT - A method and system are provided for debugging a software application in a data processing system that includes a server entity and client entities. For at least one of the client entities, a server component of the application running on the server entity is accessed, and a client component of the application is downloaded from the server entity. The client component is executed. Client log information relating to the execution of the client component is saved by invoking a log function provided by the client component; the client log information is saved into a non-persistent memory structure of the client component. The client log information is transmitted for use in the debugging of the application. | 04-02-2009 |
20090094583 | SYSTEM AND METHOD FOR TESTING COMPUTER PROGRAMS - A method for testing computer programs includes the steps of identifying at least one code subsection of a computer program to be tested, ascertaining one or more other code subsections required for executing the identified subsection, determining one or more input arguments required for executing the identified subsection and the other subsections, prompting a developer to provide at least one of the input arguments, and executing the identified subsection using the provided input arguments. | 04-09-2009 |
20090106741 | UNIFIED TRACING SERVICE - A computer is programmed with multiple software programs to record structures including (a) unstructured information to denote a transition between portions of code, and (b) metadata related to one or more attributes of the information. In addition, the computer writes two additional types of structures: section type, and dump type. The section type structure has metadata to indicate a beginning and an end, to bracket a group of structures located therebetween. The dump type has a dump header and a dump body. The dump header includes a symbol to indicate it's of dump type. The dump body is a set of values of an object used by the software program(s) during execution by the computer. A group of structures, within a section type, may include structures of each of the trace record type, dump type and section type. | 04-23-2009 |
20090113398 | MANAGING THE TRACING OF THE EXECUTION OF A COMPUTER PROGRAM - A method and system for the management of tracing data of interest in a data processing system comprises identifying the location and length of one or more such units of interest as each unit is stored in main memory during execution of the program and recording a logical assignment of each unit of interest to a slot in a wrap around trace buffer. Copying of the units of interest to the trace buffer is deferred unless one or more predefined events occur. Such events may include an attempt to overwrite the data which has been logically assigned or a request for information stored in the trace buffer. The recorded assignments are discarded whenever it is calculated that the capacity of the trace buffer would be exceeded resulting in the corresponding units never needing to be copied to the trace buffer. | 04-30-2009 |
20090119645 | SYSTEM FOR BOUNDARY TRACE WITH REPRODUCTION FACILITY - 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. | 05-07-2009 |
20090144706 | IDENTIFYING POTENTIAL LOCK CONDITIONS IN TRANSACTIONAL SOFTWARE APPLICATIONS - Methods, systems, and products for testing a transactional software application which interacts with a database structure. The software application includes a plurality of application units, which are adapted to be executed at least in part concurrently. The method includes executing the software application. Executing the software application includes executing a plurality of transaction operations on the database structure by a plurality of respective invocations of a database management system of the database structure by the respective plurality of application units. The method also includes determining locks being applied by the database management system on elements of the database structure for each transaction operation executed by each application unit individually. The method also includes identifying potential lock conditions of the software application in possible successions of application of the locks according to possible interleaving of the application units. | 06-04-2009 |
20090150869 | SYSTEM AND METHOD OF MONITORING DYNAMIC SCOPES IN SYNCHRONOUS AND ASYNCHRONOUS CALLS - A system and method for monitoring dynamic scopes in a runtime environment is disclosed. The system and method utilizes an algorithm which may be applied to both synchronous and asynchronous invocations. The method comprises determining an initial scope of a source component, the initial scope being a scope of the source component upon providing a synchronous call to invoke a target component. The scope declaration specified by the target component is determined. A resultant scope present upon invocation of the target component is then determined. The resultant scope is determined based on the initial scope of the source component and the scope declaration specified by the target component. A record is stored in a centralized location identifying the resultant scope, and the target component as a participant in the resultant scope. | 06-11-2009 |
20090164978 | METHOD AND SYSTEM FOR PROVIDING POST-MORTEM SERVICE LEVEL DEBUGGING - A computer program product comprises a computer useable medium. The computer useable medium has a computer readable program such that when the computer readable medium is executed on a computer, the computer is caused to configure an interceptor at a service invocation point corresponding to a component service of a software application. Further, the computer is caused to record, at the interceptor, data in a trace file. The data is associated with a service invocation at the service invocation point. Finally, the computer is caused to provide the trace file to a service level debugger that navigates through the trace file. | 06-25-2009 |
20090164979 | SYSTEM LANDSCAPE TRACE - This disclosure provides various implementations for supporting multiple system and application tracing. In one aspect, software can generate a globally unique identifier (GUID) for a first business process associated with a trace and transmit the GUID to a remote computer for association with a second business process related to the first business process. In another aspect, the software can identify a GUID for a trace that is executing for a first business process that is associated with a first application. The software can then associate the GUID with a second trace for a second business process related to the first business process, where the second business process is associated with a second heterogeneous application disparate from the first application. In some instances, the GUID may comprise a combination of a system identifier, a business process identifier, and a time identifier. | 06-25-2009 |
20090164980 | Cluster Application Trace - A system and method for tracing a clustered application are disclosed. A server system hosts the clustered application, and an instance tracer manages a shared memory segment for one or more nodes within an instance of each process of the clustered application. The instance tracer is adapted to serialize trace information for each of the one or more nodes and write the trace information directly to the shared memory segment according to a common time sequence. Preferably, the shared memory segment is arranged as a rollbuffer, and the trace information is written to the rollbuffer as a trace entry in sequential writer entries until a reader entry on the rollbuffer is reached. | 06-25-2009 |
20090172644 | SOFTWARE FLOW TRACKING USING MULTIPLE THREADS - Methods, systems and machine readable media are disclosed for performing dynamic information flow tracking. One method includes executing operations of a program with a main thread, and tracking the main thread's execution of the operations of the program with a tracking thread. The method further includes updating, with the tracking thread, a taint value associated with the value of the main thread to reflect whether the value is tainted, and determining, with the tracking thread based upon the taint value, whether use of the value by the main thread violates a specific security policy. | 07-02-2009 |
20090172645 | CALL STACK EVALUATION TO ASSURE PROPER FRAMEWORK ACCESS - A computer program product, system and method for verifying a call stack is provided and includes framework modules accessing an image of a call stack, verifying the call stack is compatible with a called framework module, and performing a default operation if the call stack is not compatible with a called framework module. | 07-02-2009 |
20090193397 | METHOD AND APPARATUS FOR FACILITATING DIAGNOSTIC LOGGING FOR SOFTWARE COMPONENTS - One embodiment of the present invention provides a system that facilitates diagnostic logging for software components. During operation, the system receives program code for a software component that was generated from an object model, where a key attribute has been specified for the object model. During execution of the program code, the system detects when an instance of the key attribute for the object model is accessed, and attaches state associated with the instance to a thread context in the runtime environment. The system then appends this state to a log during a logging operation to facilitate discovering and analyzing program faults. | 07-30-2009 |
20090199163 | DEBUGGER ASSISTANCE FOR LOCATING VALUES AT RUNTIME - A software module for searching within a software debugging environment is provided. The software module comprises a search component and an interface component. The search component is configured to be implemented within a debugging tool configured to access a set of execution state data for a program being monitored by the debugging tool when execution of the program is stopped. The search component is configured to search the set of execution state data to locate instances of a particular value. The interface component is configured to allow a user to specify the particular value in a search query, submit the search query to the search component, and present a description of each instance of the particular value located by the search component to the user. | 08-06-2009 |
20090204949 | SYSTEM, METHOD AND PROGRAM PRODUCT FOR DYNAMICALLY ADJUSTING TRACE BUFFER CAPACITY BASED ON EXECUTION HISTORY - A method, system and program product for dynamically adjusting trace buffer capacity based on execution history. The method includes receiving, by a module configured to trace, a plurality of traces pertaining to one or more trace events generated during execution of a program being traced, the trace events generated including panel data and sequence data. The method further includes determining, using trace data captured from the plurality of traces received, whether or not a path for a trace event is a new path. If the path for the trace event is determined to be a new path, the method includes dynamically adjusting, by the module, an initial size of a trace buffer configured to store the trace data captured, such that, the module increases the initial size of the trace buffer upon making a determination that the trace event is a new trace event based on execution history. | 08-13-2009 |
20090204950 | METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR TEMPLATE-BASED VERTICAL MICROCODE INSTRUCTION TRACE GENERATION - Method, system and computer program product for template-based vertical microcode instruction trace generation. An exemplary embodiment includes an instruction trace generation method, including generating a testcase for a millicoded instruction in an instruction trace pool, wherein the millicoded instruction is included in a parent instruction trace, processing the testcase to generate a millicode instruction trace snippet, editing the millicode instruction trace snippet to generate a templatized millimode snippet, processing the parent instruction trace, accessing the templatized millimode snippet, updating the templatized millimode snippet with a value from the parent instruction trace, and generating a millicoded instruction trace from the updated templatized millimode snippet. | 08-13-2009 |
20090204951 | Sliding Granularity Time Stamping - In a method for tracing data within an integrated circuit, a default time stamp granularity is selected for a sequence of time stamps, wherein each time stamp has a resolution of 2**N. A sequence of trace events is captured and an elapsed time is determined between each time sequential pair of trace events in the sequence of trace events. A time stamp is formed to associate with each trace event of the sequence of trace events, wherein each time stamp has an associated time stamp granularity, wherein the time stamp has the default time stamp granularity if the elapsed time between a current trace event and a sequentially prior trace event is less than 2**N time slots, otherwise the time stamp granularity is slid to a larger value such that the elapsed time can be represented by N bits, whereby a small number N of bits can accurately represent a large range of elapsed times. | 08-13-2009 |
20090222796 | Viral trace - Tracing of the interaction of third party processes on resources used by a program under trace is performed. A viral tag is associated with the program under trace. When the program “touches” a portion of memory, the memory manager associates the viral tag with the memory locations in this portion of memory. When subsequent processes “touch” the tagged memory locations, they acquire the viral tag and then spread it to other memory locations that these subsequent processes touch. The viral tag may be slightly modified so as to identify it as being based on the original viral tag but having been acquired by another process. Each time the viral tag is spread to another program, the viral tag may be slightly modified to indicate that the viral tag is now associated with another entity although is still associated with the original viral tag. | 09-03-2009 |
20090222797 | APPARATUS AND METHOD FOR PROVIDING A TRIGGER - A real-time trigger apparatus and method for using the same including a trigger logic block configured to output a trigger signal, and at least one reference register configured to store a traced value calculated by the trigger logic block, wherein the trigger signal is based at least in part on the traced value. | 09-03-2009 |
20090228873 | DISPLAY BREAKPOINTING BASED ON USER INTERFACE EVENTS - Techniques for monitoring breakpoints. An application having a breakpoint to be executed on a target device is received. The application is executed on the target device. A screen image corresponding to a display on the target device is captured in response to reaching the breakpoint while executing the application. The screen image is stored in a memory of the target device. | 09-10-2009 |
20090241095 | Call Stack Sampling for Threads Having Latencies Exceeding a Threshold - A computer implemented method, apparatus, and computer usable program code for sampling call stack information. An accumulated latency time is monitored for a set of threads executing in a data processing system. The call stack information is obtained for the thread in response to a thread in the set of threads having an associated accumulated latency exceeding a threshold. | 09-24-2009 |
20090241096 | Dynamic Software Tracing - A method, computer program product and system for dynamically changing a trace level, and optionally the trace size, depending on a recognized critical path. In one embodiment of the invention, a method of dynamic software tracing includes identifying one or more critical patterns of a software code which can influence its execution; allocating a software logging metric to each identified critical pattern; searching for one or more critical patterns in the software code to determine one or more actual critical patterns; and attributing the software logging metric associated with each identified critical pattern to the actual critical pattern to discover areas in the software code that may impact performance. | 09-24-2009 |
20090249302 | Method and Apparatus to Trace and Correlate Data Trace and Instruction Trace for Out-of-Order Processors - In a data processing system, a marked bit is used to identify a data access instruction throughout the pipeline to indicate that the instruction meets user-specified criteria (e.g., a meets a data address range of interest). Based on the marked bit, an in-order program correlation message is generated which indicates when the data access instruction occurs relative to the instruction stream. The marked bit is also used to generate an in-order data trace message. As a result, the trace streams including only data access instructions meeting user-specified criteria may be post-processed and correlated precisely. | 10-01-2009 |
20090249303 | RANDOM ACCESS TO HISTORICAL PROGRAM STATE FOR ENHANCED DEBUGGING - A method in one embodiment includes: executing a program; performing testing on the program; logging every input to the program during the testing; logging every result during testing of the program; storing the logged results; and allowing a user to search the logged results. If a failure occurs during the testing: performing a comparison between a successful testing of the program and the failed testing of the program; rerunning the successful testing and the failed testing in parallel; analyzing the logged results for determining occurrence of events during testing of the program; generating a timeline of the events; and outputting the timeline of the events. | 10-01-2009 |
20090249304 | Code Instrumentation Method and Code Instrumentation Apparatus - A code instrumentation method and a code instrumentation apparatus for instrumenting object codes of programs to enable memory access tracing. The code instrumentation method includes: identifying an object code block to be executed circularly in object codes; identifying at least one memory access instruction in the object code block where a memory address to be accessed during the circular execution of the object code block keeps unchanged; and inserting a routine for tracing the memory access to be executed by the at least one memory access instruction outside the object code block. | 10-01-2009 |
20090265692 | ACTIVE PROPERTY CHECKING - An exemplary method includes providing software for testing; during execution of the software, performing a symbolic execution of the software to produce path constraints; injecting issue constraints into the software where each issue constraint comprises a coded formula; solving the constraints using a constraint solver; based at least in part on the solving, generating input for testing the software; and testing the software using the generated input to check for violations of the injected issue constraints. Such a method can actively check properties of the software. Checking can be performed on a path for a given input using a constraint solver where, if the check fails for the given input, the constraint solver can also generate an alternative input for further testing of the software. Various exemplary methods, devices, systems, etc., are disclosed. | 10-22-2009 |
20090282391 | CONVERTING FORMAT STRINGS TO REGULAR EXPRESSIONS - In one embodiment, a method for correlating log entries in a log file to the line numbers of formatted-string output functions in source code, where the formatted-string output functions contain instructions to generate the log entries in the log file. The method includes locating the formatted-string output functions in the source code, where each formatted-string output function contains a format string. Each format string is processed to generate a corresponding regular expression to match log entries outputted by the corresponding formatted-string output function. Each regular expression is associated with the line number of the corresponding formatted-string output function. The resultant list of regular expressions and corresponding line numbers is processed with the log file, where log entries in the log file are modified to indicate the line numbers associated with matching regular expressions. | 11-12-2009 |
20090307667 | ASSISTING DEBUG MEMORY TRACING USING AN INSTRUCTION ARRAY THAT TRACKS THE ADDRESSES OF INSTRUCTIONS MODIFYING USER SPECIFIED OBJECTS - The present invention discloses a solution for increasing the immediacy in determining a point of failure after an unexpected program termination. In the solution, a user determined object is identified by a user at compile time, where the identified object is one to be tracked. The compiler introduces executable code into the source code which is able to track modifications made to the object members during run-time. During execution, the address of each instruction modifying to the object is stored in an instruction pointer (IP) array associated with the tracked object. The IP array is continuously updated during program execution when an instruction modifies a member of the tracked object. When an unexpected program termination occurs, the instruction pointer array can be presented to a debugging agent to assist in determining the instruction causing the termination. The debugging agent can be a human agent, debugging software, report generation software, and the like. | 12-10-2009 |
20090307668 | SOFTWARE PROBLEM IDENTIFICATION TOOL - A method for identifying a problem in a software application is presented. The method may include enabling a user to define at least one usage scenario for a software application. The software application may be executed on a reference computer system according to the usage scenario and data reflecting a status of the reference computer system and the software application during execution may be acquired. The software application may be further executed in a subject computer system according to the usage scenario. Data reflecting a status of the subject computer system and the software application during execution may likewise be acquired. Finally, the data from the reference computer system may be compared with the data from the subject computer system to identify at least one difference therebetween. | 12-10-2009 |
20090319998 | SOFTWARE REPUTATION ESTABLISHMENT AND MONITORING SYSTEM AND METHOD - Knowledge of a module's behavior when the module's reputation is formed is obtained. If the module's behavior changes, this change is detected. In one embodiment, upon a determination that the module's behavior has changed, the module's original reputation is lost. In this manner, malicious trusted modules are detected and defeated. | 12-24-2009 |
20090319999 | SIMULATING STEPPING THROUGH INTERPRETED CODE - The present invention extends to methods, systems, and computer program products for simulating stepping through interpreted code. Embodiments of the present invention facilitate debugging interpreted code. Thus, existing debugger technologies (e.g., those configured for use with compiled code) can be utilized to debug interpreted code. More specifically, existing debugger technologies can be used to step through interpreted code, without stepping into the code of interpreter itself Accordingly, users developing interpreted code can be provided a stepping experience of relatively the same quality provided to developers developing compiled code, without having to reengineer debuggers to compensate for interpreted code. | 12-24-2009 |
20090320000 | METHOD AND SYSTEM FOR POWER MANAGEMENT USING TRACING DATA - A method for power managing hardware. The method includes determining hardware to power manage, sending a tracing request from a power management control to a tracing framework to obtain usage data of the hardware, and identifying a first probe to obtain first tracing data corresponding to the usage data in a first hardware control software component, where the first hardware control software is configured to interact with the hardware. The method further includes enabling the first probe, obtaining the first tracing data from the first probe, where the first tracing data is obtained when the first probe is encountered during execution of the first hardware control software, and modifying operation of the hardware using the first tracing data. | 12-24-2009 |
20090328006 | INSTRUCTION-TRACE GENERATION PROGRAM, INSTRUCTION-TRACE GENERATING DEVICE, AND INSTRUCTION-TRACE GENERATING METHOD - An instruction-trace generating device generates an instruction trace of a first instruction string from a second instruction string obtained by sampling, at predetermined intervals, the first instruction string executed a plurality of times. The device includes a dividing unit dividing the second instruction string into partial instruction strings and causes the divided partial instruction strings to be stored in a storage unit; a similarity calculating unit calculating a similarity for each combination of all of the stored partial instruction strings; a selecting unit selecting one of the combinations of the partial instruction strings based on the similarity; a combination-pattern generating unit generating a plurality of combination patterns by combining instructions included in the selected partial instruction strings; a likelihood calculating unit calculating a likelihood for each of the combination patterns; and a partial-instruction-string replacing unit causing the combination patterns to be stored in the storage unit based on the likelihood. | 12-31-2009 |
20090328007 | MEMORY LEAK DIAGNOSIS - A method and an apparatus for diagnosing memory leak. The method includes: tracing the allocation of objects; recording allocation paths and allocation time of each object; giving to each object one unique identifier (ID) corresponding to an allocation path; determining the allocation path to which each object belongs; organizing the objects which are allocated but still not collected, and counting the age generations of the objects of the similar type according to the allocation time of each object; ranking the allocation paths according to the age generations of the surviving objects; and analyzing the ranking of the allocation paths, in which the allocation path with higher rank is more probable to introduce memory leaks. Thus, the suspicious allocation path possibly incurring memory leaks is selected and reported to the user for analysis. | 12-31-2009 |
20100005455 | MANAGING SOFTWARE DEPENDENCIES DURING SOFTWARE TESTING AND DEBUGGING - A solution for managing software dependencies during software testing and debugging includes a capture module configured to capture a software call stack of a software execution environment, each software call of the software call stack including a call signature and a call result. The solution defines a set of proxied software calls within the software call stack suitable for simulating conversation responses to runtime software calls by a target application. Once a set of proxied software calls is defined, a playback module recognizes runtime software calls by the target application that are within the set of proxied software calls and responds to the recognized runtime software call with a captured call result corresponding to the recognized software call. | 01-07-2010 |
20100031239 | Systems, Methods, and Media for Testing Software Patches - Systems, methods, and media for testing software patches are provided ( | 02-04-2010 |
20100042977 | Selective Execution of Trace Mechanisms for Applications Having Different Bit Structures - A computer implemented method, a computer program product, and a data processing system trace information about current context and system state for either 32-bit or 64-bit applications. A 32-bit trace executable code and a 64-bit trace executable code are compiled for a trace script. A determination is then made as to whether an application process is a 32-bit process or a 64-bit process. Responsive to determining that the application process is the 32-bit process or the 64-bit process, an internal indicator is set to indicate the application process as either a 32-bit process or a 64-bit process. Subsequently, the internal indicator is identified as either indicating the 32-bit process or the 64-bit process. If the internal identifier indicates the application process is a 32-bit process, an instruction pointer is set to indicate the 32-bit trace executable code, and the 32-bit trace executable code is executed. If the internal identifier indicates the application process is a 64-bit process, an instruction pointer is set to indicate the 64-bit trace executable code, and the 64-bit trace executable code is executed. | 02-18-2010 |
20100042978 | TEMPLATE MODEL FOR METADATA CAPTURE - The illustrative embodiments provide a method, system and computer program product for automatically capturing metadata using a template model. The template model is assembled for automatically capturing metadata during one or more stages of the life cycle of an application. Included in the template model are a description and a source of the metadata during a particular stage of the application lifecycle. The template model further includes multiple fields for dynamically capturing metadata. The template model fields may include: a stage field, an item field, a type field, specific source field, indicative field, a source list field, an analyzer reference field, default value field, and default reason field. A unique label associated with the stage field, of the template model, is read to identify the current stage of the lifecycle. The metadata associated with the current stage is automatically captured, then communicated to the application. | 02-18-2010 |
20100050162 | AUTOMATICALLY DETECTING NON-MODIFYING TRANSFORMS WHEN PROFILING SOURCE CODE - A code profiler can be digitally encoded in a storage medium that is configured to automatically detect an existence of non-modifying transforms within monitored programmatic code using hash codes of arguments of the monitored programmatic code. | 02-25-2010 |
20100058297 | SEAMLESS DEBUGGING AMONG DIFFERENT APPLICATION VIEWS - In an embodiment, a computer system initiates an application debugging process for an application that is to be debugged and maps runtime object elements of the application to both code elements and graphical elements. The computer system appends portions of software code to each runtime object element so that a runtime event is outputted indicating which corresponding graphical or code element is currently being processed. The computer system accesses the outputted runtime events to determine which graphical or code element is currently being processed and, based on the accessed outputted runtime events and based on the mappings, displays the elements currently being debugged in a first view. The computer system, based on the accessed outputted runtime events and based on the mappings, switches views from the first view to a second view without restarting the application debugging process for the application being debugged. | 03-04-2010 |
20100058298 | APPROXIMATE FUNCTIONAL MATCHING IN ELECTRONIC SYSTEMS - Methods and apparatuses for approximate functional matching are described including identifying functionally similar subsets of an integrated circuit design or software program, distinguishing control inputs of the subsets from data inputs, and assigning combinations of logic values to the input control signals to capture co-factors for functional matching. | 03-04-2010 |
20100083236 | COMPACT TRACE TREES FOR DYNAMIC BINARY PARALLELIZATION - Methods and apparatus relating to compact trace trees for dynamic binary parallelization are described. In one embodiment, a compact trace tree (CTT) is generated to improve the effectiveness of dynamic binary parallelization. CTT may be used to determine which traces are to be duplicated and specialized for execution on separate processing elements. Other embodiments are also described and claimed. | 04-01-2010 |
20100083237 | Reducing trace overheads by modifying trace operations - A method of compiling a computer program to improve trace efficiency is disclosed. The computer program comprises a plurality of trace operations for triggering output of trace data generated by said computer program, and the method of compiling comprises the steps of: transforming said computer program into code forming an intermediate version of said computer program; analysing said transformed code; replacing at least some of said trace operations with modified trace operations; transforming said code into code suitable for execution on a data processing system; and generating translation data relating said modified trace operations to said trace operations they replaced. | 04-01-2010 |
20100088682 | PROGRAM EVALUATION APPARATUS AND PROGRAM EVALUATION METHOD - An apparatus for evaluating a performance of a program includes: a storage unit for storing the program embedded with a plurality of trace statements; a processor executes a process including: executing the program embedded with a plurality of trace statements cyclically; calculating each time intervals of each cycle of execution of the program from a start test program till an end program; and evaluating the performance of the program on the basis of information of the time intervals. | 04-08-2010 |
20100088683 | SYSTEM AND METHOD FOR SOFTWARE DIAGNOSTICS USING A COMBINATION OF VISUAL AND DYNAMIC TRACING - A software system is disclosed that provides remote troubleshooting and tracing of the execution of computer programs. The software system allows a remote software developer or help desk person to troubleshoot computer environment and installation problems such as missing or corrupted environment variables, files, DLLs, registry entries, and the like. In one embodiment the software system includes an information-gathering module that gathers run-time information about program execution, program interaction with the operating system and the system resources. The information-gathering module also monitors user actions and captures screen output. The information-gathering module passes the gathered information to an information-display module. The information-display module allows a support technician (e.g., a software developer, a help desk person, etc.) to see the user interactions with the program and corresponding reactions of the system. In one embodiment, the information-display module allows the support technician to remotely view environment variables, file access operations, system interactions, and user interactions that occur on the user's computer and locate failed operations that cause execution problems | 04-08-2010 |
20100095278 | TRACING A CALLTREE OF A SPECIFIED ROOT METHOD - A specification of a routine name of a root of a call tree and a specification of a desired depth of call tree tracing are obtained. Upon entering a given routine in a program, a determination is made whether the given routine is the root. Responsive to determining that the given one of the routines is the root, trace information for the routine forming the root is output. Furthermore, upon entering a given one of the routines called, directly or indirectly, by the routine forming the root, a determination is made whether the given one of the routines called, directly or indirectly, by the routine forming the root of the call tree is within the desired depth from the routine forming the root of the call tree; and if this is the case, trace information is output for given one of the routines called, directly or indirectly, by the routine forming the root of the call tree. | 04-15-2010 |
20100095279 | METHOD FOR AUTOMATICALLY TESTING MENU ITEMS OF APPLICATION SOFTWARE - An automatic testing method is used for automatically testing multiple menu items of application software. The application software is executed to display a window including the multiple menu items on a screen. The method includes the following steps. Firstly, multiple serial numbers are assigned to respective menu items of the application software by automatic testing tool software. Then, an automatic testing script including multiple command symbols and the serial numbers is produced. The functions of the multiple menu items of the window are implemented, thereby outputting an automatic testing result. | 04-15-2010 |
20100095280 | METHOD AND SYSTEM FOR PROVIDING LOITERING TRACE IN VIRTUAL MACHINES - A system and method are provided for performing loitering trace in virtual machines. In one embodiment, status of objects in a garbage collection heap at a first virtual machine at a server is identified, in response to a memory leak. First objects that are used are identified. Second objects that are alive and not being used are identified. Information regarding the first objects and the second objects is communicated to a second virtual machine at a client. | 04-15-2010 |
20100107142 | SCALABILITY ANALYSIS FOR SERVER SYSTEMS - Described is predicting cache locality in a multicore/multithreaded processing environment including when threads share cache data in a non-uniform interleaving manner. Thread execution traces are analyzed to compute a set of per-thread parameters that can then be used to predict cache miss rates for other cache sizes. In one aspect, a model is based upon a probability that the cache reuse distance will increase because of accesses by other threads, and another probability that the reuse distance will decrease because of intercept accesses by other threads to shared data blocks. Estimates of the number of shared data blocks, possibly shared data blocks and private data blocks are used in the computations. | 04-29-2010 |
20100107143 | Method and System for Thread Monitoring - An apparatus and methods for hardware-based performance monitoring of a computer system are presented. The apparatus includes: processing units; a memory; a connector device connecting the processing units and the memory; probes inserted the processing units, and the probes generating probe signals when selected processing events are detected; and a thread trace device connected to the connector device. The thread trace device includes an event interface to receive probe signals, and an event memory controller to send probe event messages to the memory, where probe event messages are based on probe signals. Also presented is a method that includes: inserting event probes in hardware-based processing units, where the event probes generate probe events when predetermined processing events are detected; configuring a hardware-based device to generate probe event messages based on said probe events; and transferring the probe event messages to a memory. The probe event messages transferred to memory can be subsequently analyzed using a software program to determine, for example, thread-to-thread interactions. | 04-29-2010 |
20100107144 | AUTOMATED IDENTIFICATION OF REDUNDANT METHOD CALLS - Embodiments of the invention use an automated procedure to detect the occurrence of redundant or duplicate method calls in a running program. Software developers may then be notified of the redundant calls, and correct the redundancies if necessary. One embodiment, directed to a process or inventive method, is associated with a program disposed to run on a data processing system, wherein the program is provided with one or more methods that can be selectively called when the program is running. The process includes the step of collecting specified data each time that a call to a given one of the methods occurs, wherein a given call to the given method is associated with a set of arguments comprising one or more particular argument values for the given method, and the collected data includes an element uniquely identifying each of the particular argument values. The process further includes storing the collected data at a selected location, and selecting a call threshold for the given method, wherein the call threshold comprises a specified number of occurrences of the given call to the given method, when the program is running. The collected data is selectively analyzed at the storage location, to determine whether an occurrence of the given call to the given method has exceeded the call threshold. | 04-29-2010 |
20100115494 | SYSTEM FOR DYNAMIC PROGRAM PROFILING - A system and method for efficient whole program profiling of software applications. A computing system comprises a dynamic binary instrumentation (DBI) tool coupled to a virtual machine configured to translate and execute binary code of a software application. The binary code is augmented with instrumentation and analysis code during translation and execution. Characterization information of each basic block is stored as each basic block is executed. A dynamic binary analysis (DBA) tool inspects this information to identify hierarchical layers of cycles within the application that describe the dynamic behavior of the application. A sequence of basic blocks may describe paths, a sequence of paths may describe a stratum, and a sequence of strata may describe a stratum layer. Statistics of these layers and hot paths may be determined and stored. This data storage yields a whole program profile comprising program phase changes that accurately describes the dynamic behavior of the application. | 05-06-2010 |
20100131931 | SAMPLING TECHNIQUES FOR DYNAMIC DATA-RACE DETECTION - This document describes a dynamic data race detector that utilizes adaptive sampling techniques. The adaptive sampling techniques include locating threads during execution of a multi-threaded program and identifying thread-specific hot paths, thread-specific cold paths and lockset paths during execution of the program. Once these paths are identified, they are sampled, potentially at different rates. Any information gained during the sampling may be stored in a data race log, which a developer may use to correct any identified program bugs | 05-27-2010 |
20100146488 | AUTOMATIC TEST TOOL FOR WEBPAGE DESIGN WITH MICRO-BROWSERS ON MOBILE PLATFORMS - Architecture that provides a convenient and effective test tool for testing and ensuring that webpages using micro-browsers are sufficiently designed and operational. A task library is developed for manipulating browsers on a handheld device, and includes one or more seamless methods that operate the different browsers in the same way. Seamless virtual functions that manipulate different micro-browsers include, but are not limited to browser launch, exiting a browser, navigating to a home page, clearing a cache, navigating to a webpage, reloading a webpage, getting the current info for a webpage, navigating back to a webpage, checking a page title, and capturing a screen, for example. Device features can also be manipulated to ensure consistency across the testing process. | 06-10-2010 |
20100146489 | AUTOMATIC COLLECTION OF DIAGNOSTIC TRACES IN AN AUTOMATION FRAMEWORK - A method for software test automation includes receiving system software in a test server; receiving test software and in a test server; configuring test environment resources for the test software; executing an automated test of the test software comprising: performing unit test of the test software; comparing anticipated performance results of the test software with actual results of the test software; determining whether there are differences in the anticipated performance and the actual performance; wherein in the event there are differences in the anticipated performance and the actual performance: applying trace settings; deleting runtime logs associated with the unit test; re-executing the unit test; storing trace data associated with the re-executed unit test; notifying a user of the re-executed unit test; providing the user with the stored trace data; and cleaning up the test environment resources. | 06-10-2010 |
20100153927 | TRANSFORMING USER SCRIPT CODE FOR DEBUGGING - User script code that is developed to be run in a host application, for example, as a macro can be transformed into debuggable code so that the host application may continue to operate during a debugging stop operation. Traceback methods can be created that call back into the host application to allow the host application to cooperatively operate and update its user-interface. The user script code can be transformed by injecting callbacks to the traceback methods at respective locations in the code where a stopping operation may be installed during debugging. Further, two or more debugging features can be combined into a single user script code transform using an iterator pattern function. | 06-17-2010 |
20100162216 | WORKLOAD PERFORMANCE PROJECTION VIA SURROGATE PROGRAM ANALYSIS FOR FUTURE INFORMATION HANDLING SYSTEMS - A performance projection system includes a test IHS and multiple currently existing IHSs. The performance projection system includes user application software and surrogate programs that execute on currently existing IHSs. The performance projection system measures user application software and surrogate program performance during execution on currently existing IHSs. The performance projection systems measures runtime program performance during execution of surrogate programs on a future semiconductor die IC design model or virtualized future system. Designers normalize and compare surrogate program runtime performance data with user application software performance data. Designers un-normalize the normalized runtime performance data to generate a projection of runtime performance on the future system. | 06-24-2010 |
20100175052 | SYSTEM AND METHOD FOR AUTOMATIC GENERATION OF TEST DATA TO SATISFY MODIFIED CONDITION DECISION COVERAGE - The tool, MC/DC-Automatic Tool Generator automatically generates test data to satisfy Modified Condition Decision Coverage (MCDC) from input code/model. This tool reduces the effort required to generate MCDC test data significantly. In order to reduce the time required by model checkers, abstraction and optimization methodologies have been implemented to analyze typical reactive software model/code. | 07-08-2010 |
20100180261 | SYSTEM AND METHOD FOR GENERATING A USER CALLSTACK TRACE - A system and method for constructing a user callstack trace in a computer to monitor a user defined Function of a user program in relation to one or more predetermined events is provided. The system and method provides generating a user callstack trace for display to the user from data in memory in relation to a predetermined event of interest to the user. The user callstack trace communicates information corresponding to the execution of the Function for the predetermined event independent of the plurality of outlined functions. The plurality of outlined functions are artificially generated in response to compiling the user program having the Function. | 07-15-2010 |
20100192132 | SYSTEM AND METHOD FOR CUSTOMIZED ERROR REPORTING - An error reporting system within the operating system of a computer that provides error reporting and/or debugging for managed applications. The error reporting service supports a registration programming interface through which applications that use non-native or non-standard error reporting functions can register runtime exception modules. A similar interface may be provided for applications to register debuggers. In response to a failure, such as a crash or an application hang, the error reporting service can poll the registered components to ascertain whether any is adapted for use in conjunction with such a failure. If so, the appropriate registered components can be used to collect failure data and/or debug the failed application. In this way, the error reporting service, and an existing framework that supports aggregation of application error reports, can be customized, including to allow error reporting and debugging of non-native applications. | 07-29-2010 |
20100192133 | METHOD AND SYSTEM FOR ANALYZING MEMORY LEAKS OCCURRING IN JAVA VIRTUAL MACHINE DATA STORAGE HEAPS - A plurality of heap dump requests associated with an operating virtual machine (VM) program is received from a VM profiler interface module at a heap dump request processing module. In response to receipt of each heap dump request at the heap dump request processing module, a dynamic modifiable library identified within a dynamic modifiable configuration file is loaded into a memory, where the dynamic modifiable library comprises instructions associated with processing a current heap dump request. The instructions associated with processing the current heap dump request are executed. The dynamic modifiable library is unloaded from the memory. A plurality of heap dump files and a plurality of object movement event files generated by execution of the instructions are analyzed. A memory leak associated with the operating VM program is automatically identified based upon the analyzed plurality of heap dump files and the plurality of object movement event files. | 07-29-2010 |
20100223598 | Collecting profile-specified performance data on a multithreaded data processing system - A method, apparatus, and computer program product for collecting performance data. In one illustrative embodiment, signaling is performed to start collecting the performance data by an operating system support unit in a multithreaded data processing system. Responsive to a thread switch to an incoming thread after signaling has occurred, the performance data for the incoming thread is collected using a thread specific data collection profile to form collected performance data if the incoming thread is associated with the thread specific data collection profile, wherein the thread specific data collection profile specifies a type of data to collect. Responsive to a subsequent thread switch, the collected performance data is sent to a number of destinations. | 09-02-2010 |
20100229157 | EXTRACTING AND COLLECTING PLATFORM USE DATA - A system for reporting information about how selected components of an operating system are used by applications on a computing device. A manifest of components is provided from a management server to a computing device. The manifest specifies components of the operating system for which usage information is to be collected. The computing device surveys applications for calls to the components specified in the manifest. Surveys may be performed by static scanning and/or dynamic monitoring. In static scanning, application files are scanned for keyword strings specified in the manifest. Keyword string matches are recorded to a log file. In dynamic monitoring, calls from executing applications to components specified by the manifest are identified and logged. A report is generated from the log and sent to the management server. The management server then aggregates and analyzes reports from multiple computing devices to enable developers to assess how the components are being used. | 09-09-2010 |
20100229158 | COMPUTER-READABLE RECORDING MEDIUM STORING VERIFICATION SUPPORT PROGRAM, INFORMATION PROCESSOR, AND VERIFICATION SUPPORT METHOD - An information processing and method include acquiring a trace group indicating instants of time of execution of processing operations and vestiges of contents of the execution, behavior information indicating behaviors of a processor of the arbitrary system, and state information indicating state transitions of an arbitrary hardware device other than the processor. A behavior trace searching unit searches when an arbitrary behavior is specified from behaviors indicated by the behavior information, a state trace searching unit searches when an arbitrary state transition is specified from the state transition indicated by the state information, an associating unit associates, the traces found by the behavior trace searching unit and the traces found by the state trace searching unit according to an instruction and an outputting unit outputs the traces associated by the associating unit as traces for a simulation of the behaviors. | 09-09-2010 |
20100229159 | METHOD OF TRACING OBJECT ALLOCATION SITE IN PROGRAM, AS WELL AS COMPUTER SYSTEM AND COMPUTER PROGRAM THEREFOR - A data structure of a run-time object having a hash value field. The data structure allows an object allocation site to be traced from the run-time object, the object allocation site being a site in a program allocating the run-time object. A method for allowing an object allocation site to be traced from a run-time object includes embedding a value corresponding to the object allocation site in the program. A hash-value field includes the embedded value and the object identifier, and the tracing is performed by identifying the object allocation site that corresponds to the embedded value. A computer system for tracing an object allocation site includes a memory that stores the run-time object; an acquirer that acquires the value from a hash value field; and an identification unit that identifies the object allocation site that corresponds to the acquired value. | 09-09-2010 |
20100242026 | ENHANCED THREAD STEPPING - Embodiments of the invention provide debugging techniques for multithreaded programs. For example, a debugger may reduce the time required to release inactive threads that hold resources needed by an active thread. For example, if a timer expires before a line of code finishes executing, the debugger assumes that the active thread requires a resource locked by an inactive thread and releases other threads. During subsequent execution of the line of code, the debugger reduces the timer length of the timer. In doing so, inactive threads are released sooner, thereby reducing the wait time a user experiences when debugging lines of code. | 09-23-2010 |
20100242027 | IDENTIFYING GROUPS AND SUBGROUPS - Aspects of the subject matter described herein relate to automatically identifying groups and subgroups in dependency data. In aspects, a data structure that indicates dependencies between components is analyzed to create groups that are related by dependencies. The groups are further analyzed to create subgroups that depend on shared components but that do not depend on each other. Information about the components is used to generate names for the groups that are indicative of the components included in the groups. The groups, their names, and their relationships may then be displayed. | 09-23-2010 |
20100251219 | TRACING OBJECTS IN OBJECT-ORIENTED PROGRAMMING MODEL - A system and associated method for tracing state information of a target object. The target object is a data item of an application object executed in a virtual machine. Upon detecting a triggering event pertaining to the target object while executing the application object, the virtual machine stores the state information of the target object in a target state info object in a heap space such that the state information is maintained across instances of the virtual machine. The target object is associated with the target state info object by using a weak hash map entry such that the target state info object is garbage collected when the target object is garbage collected and such that the state information is not excessively accumulated. A system dump containing the target object and the target state info object is produced when the application object fails. | 09-30-2010 |
20100251220 | METHOD AND APPARATUS FOR DYNAMICALLY INSTRUMENTING A PROGRAM - A dynamic instrumentation method and apparatus which may trace, debug, and profile the execution of a running program without affecting the operation of the program, are provided. According to the method, a break instruction is inserted and executed at start of execution of a first instruction and immediately after execution of the last instruction of a function constituting the program. Environment values of the function before and after execution may be identified. The program may be dynamically instrumented without being affected by any tracing or debugging operations. | 09-30-2010 |
20100262954 | Method for Locating Resource Leaks during Software Development - Disclosed is a method and a system for identifying a resource allocation in computer program code. The method comprises the steps of identifying computer program code that initiates a resource allocation process, generating a certificate for the identified computer program code and storing the certificate as a parameter in the computer program code initiating the resource allocation process, and in a table which further comprises adhering file and line data of the computer program code that initiates the resource allocation process, and performing a resource allocation call including the certificate. | 10-14-2010 |
20100281468 | METHOD AND SYSTEM FOR MONITORING EXECUTION PERFORMANCE OF SOFTWARE PROGRAM PRODUCT - A method, computer program product and system for monitoring execution behavior of a program product in a data processing system include development of a trace tool having trace strings written in a human language and provided with data fields for diagnostic information relevant to executable portions of the program product. Identifiers of the trace tool, trace strings, and data fields and components of the diagnostic information are encoded using a coded binary language. After monitoring execution of the program product, a trace report of the trace tool is translated for an intended recipient from the coded binary language into the human language, whereas an unauthorized access to the contents of the trace record is restricted. The encoding or decoding operations are performed using databases containing the respective identifiers and components of the diagnostic information in the coded binary language and the human language. | 11-04-2010 |
20100281469 | SYMBOLIC PREDICTIVE ANALYSIS FOR CONCURRENT PROGRAMS - A symbolic predictive analysis method for finding assertion violations and atomicity violations in concurrent programs is shown that derives a concurrent trace program (CTP) for a program under a given test. A logic formula is then generated based on a concurrent static single assignment (CSSA) representation of the CTP, including at least one assertion property or atomicity violation. The satisfiability of the formula is then determined, such that the outcome of the determination indicates an assertion/atomicity violation. | 11-04-2010 |
20100287536 | PROFILING APPLICATION PERFORMANCE ACCORDING TO DATA STRUCTURE - During runtime of a binary program file, streams of instructions are executed and memory references, generated by instrumentation applied to given ones of the instructions that refer to memory locations, are collected. A transformation is performed, based on the executed streams of instructions and the collected memory references, to obtain a table. The table lists memory events of interest for active data structures for each function in the program file. The transformation is performed to translate memory addresses for given ones of the instructions and given ones of the data structures into locations and variable names in a source file corresponding to the binary file. At least the memory events of interest are displayed, and the display is organized so as to correlate the memory events of interest with corresponding ones of the data structures. | 11-11-2010 |
20100287537 | METHOD AND SYSTEM FOR ANOMALY DETECTION IN SOFTWARE PROGRAMS WITH REDUCED FALSE NEGATIVES - A method, system and article of manufacture are disclosed for detecting anomalies in a software program. The method comprises the steps of running the software program as a client; and the software program sending to a server a multitude of tokens at specified points in the program, each of the tokens having information about the software program. The server implements code to analyze said tokens and to compare information in the tokens to stored data to identify anomalies in the software program. In a preferred embodiment, the tokens identify patterns of operation of the software programs, and the implementing step includes the step of comparing these program patterns with stored acceptable patterns to identify anomalous program patterns. This comparing may be done by the logging, as potential anomalies, selected ones of the program patterns that do not match any of the stored acceptable patterns. | 11-11-2010 |
20100287538 | METHOD AND SYSTEM FOR DATA CENTRIC HEAP PROFILING - A method and system for data centric heap profiling is disclosed. In one embodiment, a method, implemented in a computing device, for data centric heap profiling includes generating a type table for data structure types in source code using a compiler of the computing device. The method also includes identifying each heap allocation site and a corresponding data structure type in the source code using the compiler. The method further includes generating a data centric view of a heap o fan application compiled from the source code based on the each heap allocation site and the corresponding data structure type using a debugger of the computing device when a snapshot of the heap is requested during an execution of the application. | 11-11-2010 |
20100299654 | APPROACH FOR ROOT CAUSING REGRESSION BUGS - A stable program, a new program version and a test case which passes (or fails) in the first program may be analyzed. Another new input may be found that either exhibits the similar (different) behavior as that of the test case in the first program (or second program) or follows different (similar) behavior as that of the test case in the new program version. In the first case, the trace of the test case and the new input in the second code version while in the second case, the trace of the test case and the new input in the original program are compared to produce a bug report. By reviewing the bug reports, divergences may be found and error causing code lines may be isolated. | 11-25-2010 |
20100318972 | Trace Correlation for Profiling Subroutines - In one or more embodiments, a data processing system can include at least one core capable of executing instructions of an instruction set architecture and a trace unit coupled to the at least one core. A call to a subroutine can be detected, and in response, a program trace correlation (PTC) message can be generated and sent to a trace port. Data associated with an execution of the subroutine and/or performance of the data processing system can be sampled and sent to the trace port. A return from the subroutine can be detected, and in response, a trace message can be generated and sent to the trace port. The PTC message and the trace message can be correlated, and the correlation of the PTC message and the trace message can be used to determine a boundary for the subroutine and/or the sampled data associated with the execution of the subroutine. | 12-16-2010 |
20100333070 | Multiple ECU Software-In-The-Loop Simulation Environment - The invention relates to methods for evaluating the performance of a system having a plurality of electronic control unit (ECU) software programs. A plurality of first memory spaces are allocated for use by the software programs. At least one second memory space is allocated to be in communication with these first memory spaces. The output of at least one first software program is stored in at least one of said first memory spaces associated with that program, wherein said output is subsequently transmitted to at least one said second memory space, and wherein said output is further subsequently transmitted to at least one of said first memory spaces associated with at least one second software program. From this location, said output is accessed as an input for said second software program. The performance of the system is evaluated by executing said software programs and determining if the outputs of said programs satisfy the criteria of the system. | 12-30-2010 |
20100333071 | Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines - 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. | 12-30-2010 |
20100333072 | INTEGRATED PERFORMANCE AND LOAD TESTING TOOL FOR APPLICATION SERVERS - Implementations of the present disclosure provide for testing an application, and include loading a testing tool by a client that is in communication with an application server that executes the application, introducing probe code into a routine by a first component of the testing tool, the routine being called during execution of the application, and transmitting a request to the application using a second component of the testing tool. An elapsed time of an execution of the routine is determined based on the probe code, and a response is generated from the application server based on the request. A response time is determined based on the request and the response, and performance statistics are calculated based on the elapsed time and the response time. | 12-30-2010 |
20110023019 | Monitoring File Access of Java Processes - A mechanism for monitoring file accesses by a process running in a Virtual Machine. File access information associated with a monitored process selected in a first view in a debugging interface is obtained from a file activity log and displayed as selectable file access events in a second view of the debugging interface, wherein each file access event represents a read or write operation performed on a file at a particular point in time by the monitoring process. An initial content of a file associated with the selected file access event and revisions made to the file by the monitored process within a defined period of time is retrieved from the file activity log upon detecting user selection of a file access event in the second view. The revisions are applied to the initial content of the file and displayed in a third view in the debugging interface. | 01-27-2011 |
20110035730 | Tracking Database Deadlock - A method for tracking a deadlock in a computing system is disclosed. The deadlock is caused by at least one application, and the computing system is communicatively coupled to a computing device in a distributed manner wherein the computing device has the at least one application. The method includes identifying a source code line in the at least one application, wherein the at least one application includes a plurality of source code lines. The method includes generating a deadlock identifier by the computing system and transmitting a first response by the computing system to the application. The first response includes the deadlock identifier. The method further includes extracting the deadlock identifier from the first response, capturing the source code line, and transmitting a second response to the computer system by the application. The second response includes the source code line and the deadlock identifier. A system and a computer product are also disclosed. | 02-10-2011 |
20110041122 | AUTOMATIC IDENTIFICATION OF EXECUTION PHASES IN LOAD TESTS - A method for automatic identification of execution phases in load test data includes receiving load test data indicating processor utilization for threads over a period of time divided into a plurality of intervals. For each pair of proximate intervals, it is determined whether thread-wise processor utilization for a first interval is statistically indistinguishable from that of a second interval. The pair of proximate intervals is combined when it is determined that the processor utilization for the first interval is statistically indistinguishable from that of the second interval. Each of the pair of proximate intervals is divided into subintervals when it is determined that the first interval is not statistically indistinguishable the second interval. One or more execution phases are automatically identified as occurring between proximate intervals that are not substantially equivalent. | 02-17-2011 |
20110055818 | SOURCE CODE ANALYZING SYSTEM AND SOURCE CODE ANALYZING METHOD - Every time an assignment statement is executed during performing a simulation according to a second variable memory system, it is determined whether a value interpreted to have the same meaning is assigned to the assignment statement in the simulation according to a first variable memory system and in the simulation according to the second variable memory system. When the value interpreted to have the same meaning is not assigned, the value assigned according to the second variable memory system is overwritten by an expected value, and a report indicating that the assignment statement is a part dependent on a variable memory system is output. | 03-03-2011 |
20110067007 | AUTOMATIC THREAD DUMPING - A server node comprises a monitoring module to support automatic thread dumping. The monitoring module monitors execution of a multi-threaded Java program on a Java virtual machine. The monitoring module detects a pre-defined condition that occurs to one or more of the threads during the execution. Upon detection of the pre-defined condition, the monitoring module automatically invokes a thread dumping module to dump the threads that are currently running on the Java virtual machine. | 03-17-2011 |
20110067008 | TECHNIQUES FOR ADAPTIVE TRACE LOGGING - Techniques for adaptive trace logging include, in one embodiment, obtaining input data on trace logging behavior and computing resources used by trace logging. Based on the obtained input data, an adaptive trace logging module automatically takes action at runtime to reduce the amount of computing resources consumed by tracing logging. For example, the action taken may include decreasing a trace logging level of an executing software program to reduce the number of trace logging messages added to a trace log. In another embodiment, the techniques include detecting a condition of an executing software program that warrants a change to a trace logging level of the executing program. The adaptive trace logging module automatically changes the trace logging level of the executing program as-needed for the detected condition. For example, the adaptive trace logging module may increase the trace logging level of an executing program upon detecting a deadlock or other abnormal condition of the executing program. By automatically increasing the trace logging level upon detecting an abnormal condition, additional trace logging messages may be written to a trace log aiding diagnosis and troubleshooting of the condition. | 03-17-2011 |
20110072418 | TRACING MEMORY UPDATE FOR DEBUGGING COMPUTER PROGRAM - A system, method, and computer program product for expediting the identification of computer program code that is the source of errors in the execution of a computer program. A debugger monitors a specified memory address, or group of addresses for updates, during execution of the computer program. In response to determining that a running computer program has updated the memory address, the processor executes a watchpoint handler to identify the source of errors in a computer program executing in a data processing system. The watchpoint handler gathers trace information associated with the faulty processing thread, and records the trace information to a memory location. The watchpoint handler may also apply filters to the trace information to identify the source of the error, saving valuable debugging time. | 03-24-2011 |
20110088016 | PROGRAM ANALYSIS THROUGH PREDICATE ABSTRACTION AND REFINEMENT - An analysis engine is described for performing static analysis using CEGAR loop functionality, using a combination of forward and backward validation-phase trace analyses. The analysis engine includes a number of features. For example: (1) the analysis engine can operate on blocks of program statements of different adjustable sizes; (2) the analysis engine can identify a subtrace of the trace and perform analysis on that subtrace (rather than the full trace); (3) the analysis engine can form a pyramid of state conditions and extract predicates based on the pyramid and/or from auxiliary source(s); (4) the analysis engine can generate predicates using an increasingly-aggressive series of available discovery techniques; (5) the analysis engine can selectively concretize procedure calls associated with the trace on an as-needed basis and perform other refinements; and (6) the analysis engine can add additional verification targets in the course of its analysis, etc. | 04-14-2011 |
20110088017 | OFFLINE FORMAL VERIFICATION OF EXECUTABLE MODELS - A system and method for automatic formal verification of an executable system includes an assertion monitor configured to verify a system against an assertion in the specification. The assertion monitor includes a parser configured to generate a propositional formula representing an assertion in the specification using Boolean propositions, a filter configured to generate a trace of truth assignments for the propositional symbols and a trace verifier configured to verify the assertion using the trace of truth assignments for the propositional symbols and the propositional formula. | 04-14-2011 |
20110099539 | ANALYSIS AND TIMELINE VISUALIZATION OF THREAD ACTIVITY - Analyzing the performance of multi-threaded applications. An analysis and visualization of thread executions is performed on a graphical timeline using samples of thread execution. This allows users to understand when their application threads are executing, what they were executing, the degree of concurrency in thread execution, and the order in which work is performed in their application. The visualizations and analysis also allow users to sample thread execution contexts using a graphical user interface, as well as the generation of execution profile reports that may be filtered for a specific time range of execution and a subset of the threads running in the application. | 04-28-2011 |
20110107309 | Valgrind Suppressions File Editor - A computer-implemented method involving detecting a creating or opening of a suppression file presenting a suppression edits, executing an auto complete search in response to input to define a suppressions and storing the suppression file to be utilized with a profiling tool to hide data defined by the suppression file. | 05-05-2011 |
20110113406 | SYMMETRIC MULTI-PROCESSOR LOCK TRACING - A symmetric multi-processor SMP system includes an SMP processor and operating system OS software that performs automatic SMP lock tracing analysis on an executing application program. System administrators, users or other entities initiate an automatic SMP lock tracing analysis. A particular thread of the executing application program requests and obtains a lock for a memory address pointer. A subsequent thread requests the same memory address pointer lock prior to the particular thread release of that lock. The subsequent thread begins to spin waiting for the release of that address pointer lock. When the subsequent thread reaches a predetermined maximum amount of wait time, MAXSPIN, a lock testing tool in the kernel of the OS detects the MAXSPIN condition. The OS performs a test to determine if the subsequent thread and address pointer lock meet the list of criteria set during initiation of the automatic lock trace method. The OS initiates an SMP lock trace capture automatically if all criteria or the arguments of the lock trace method are met. System administrators, software programmers, users or other entities interpret the results of the SMP lock tracing method that the OS stores in a trace table to determine performance improvements for the executing application program. | 05-12-2011 |
20110119656 | Computing system, method and computer-readable medium processing debug information in computing system - Disclosed are a system, method and computer-readable medium related to processing debug information from an embedded system. Source code of an application program to be used in an embedded system may be compiled by a computing system. The application program may include a debug code line. A minimum amount of debug information is stored in an embedded system, reducing memory overhead and waste of clock cycles of a processor. | 05-19-2011 |
20110138363 | COMBINING METHOD PARAMETER TRACES WITH OTHER TRACES - 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. | 06-09-2011 |
20110154296 | MULTI TRACE PARSER - A method and a system for tracing the execution of multiple software products. The system includes: a collecting tool that is configured for collecting and internally listing in a list trace files; a determining device for determining the format of each trace file on the list, and selecting, as function of the format and for each trace file on the list, an associated parser, the associated parser being configured to read the listed trace file and extract trace data of the listed trace file; a translator for translating the extracted trace data into a new dataset; and a Graphical User Interface for displaying at least a subset of said new dataset. | 06-23-2011 |
20110167412 | UNIVERSAL CAUSALITY GRAPHS FOR BUG DETECTION IN CONCURRENT PROGRAMS - 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. | 07-07-2011 |
20110202903 | APPARATUS AND METHOD FOR DEBUGGING A SHARED LIBRARY - An apparatus and method for debugging a shared library are provided. By performing the shared library-based debugging as described herein, instead of application process-based debugging, the limit of physical memory may be reduced and debugging efficiency may be improved by un-mapping a virtual map page in application processes that are mapped with the physical and logical memory addresses of the shared library. | 08-18-2011 |
20110214108 | ARCHITECTURE, SYSTEM AND METHOD FOR GENERATING VISUALIZATIONS FROM RUNNING EXECUTABLE CODE - A method and apparatus for generating visualizations from running executable code is described. In one embodiment, the method includes monitoring an executable software application while the software application is running. The method may also include capturing data indicative of runtime events that occur while the executable software application is run. In one embodiment, the method may further include generating a profile of the executable software application from the captured data, and rendering a visualization of the profile for display. | 09-01-2011 |
20110214109 | GENERATING STACK TRACES OF CALL STACKS THAT LACK FRAME POINTERS - A processing device executing an application analyzer analyzes a call stack having a plurality of stack frames to identify potential return addresses for the plurality of stack frames. The processing device records a value of each of the potential return addresses and records a location on the call stack for each of the potential return addresses. The processing device then determines which of the potential return addresses are actual return addresses based on debugging information and the recorded locations of the potential return addresses. The processing device generates a stack trace based on the actual return addresses. | 09-01-2011 |
20110231826 | Detecting Real-Time Invalid Memory References - A method, system, and computer program product for identifying invalid memory references. In one embodiment, invalid memory references are identified as they occur. In another embodiment, the invalid memory references are identified within a customized operating system that runs within an application. | 09-22-2011 |
20110239197 | INSTANCE-BASED FIELD AFFINITY OPTIMIZATION - Dynamic determination of affinity between fields of structure may be determined based on accesses to the same instance. The affinity may be utilized in determining a data layout of a structure so as to optimize performance of a target program. The affinity determination may be an estimation based upon a trace of an execution of the target program. Access relation between proximate accesses to fields of the same instance may be utilized to estimate an optimized data layout of the structure. | 09-29-2011 |
20110252407 | SYSTEM AND METHOD FOR INFORMATION EXTRACTION FROM WITHIN AN ACTIVE APPLICATION DURING EXECUTION - A system and method for providing detailed information about how a software application is running has a processor and memory including a shared memory. The method provides an automated way of extracting information from a first software application having a plurality of libraries as the application executes. A special library used to interrogate an execution application is placed in the execution path but does not use I/O resources while it is extracting information about an executing software application. An intercept causes the special library to execute, and information is seamless provided to an output device during execution of the interrogated application. | 10-13-2011 |
20110258609 | METHOD AND SYSTEM FOR SOFTWARE DEFECT REPORTING - A method and system ties together the identification of a defect during testing with the supporting application code on the systems that led to the generation of a defect. The association between the two is through the use of a unique Trace ID. This Trace ID is unique to each interaction between the consumer (e.g. client browser) and the provider system(s) (web application server, back office systems, etc). When a potential defect is identified by the end user or tester, the present invention “collects” the associated log messages using the unique Trace ID and attaches those to the defect. The software developer providing the defect triage can then readily review the associated log files without having to manually search the supporting log files manually. | 10-20-2011 |
20110258610 | OPTIMIZING PERFORMANCE OF INTEGRITY MONITORING - A system, method and computer program product for verifying integrity of a running application program on a computing device. The method comprises: determining entry points into an application programs processing space that impact proper execution impact program integrity; mapping data elements reachable from the determined entry points into a memory space of a host system where the application to verify is running; run-time monitoring, in the memory space, potential modification of the data elements in a manner potentially breaching program integrity; and initiating a response to the potential modification. The run-time monitoring detects when a data transaction, e.g., a write event, reaches a malicious agent's entry point, a corresponding memory hook is triggered and control is passed to a security agent running outside the monitored system. This agent requests the values of the data elements, and determines if invariants that have been previously computed hold true or not under the set of retrieved data values. | 10-20-2011 |
20110258611 | VISUALIZATION OF RUNTIME ANALYSIS ACROSS DYNAMIC BOUNDARIES - Enhanced software architecture diagrams are derived by correlating runtime and static information, thereby allowing the diagrams to span runtime determination boundaries. Runtime determination boundaries are defined by decisions made at runtime, e.g., client-server boundaries, machine-machine boundaries, database-querying program boundaries, web service provider-consumer boundaries, factory caller-instance boundaries, interface call-implementing class boundaries, and reflection boundaries. Correlation may involve identifying instances of types, tracing an identifier injected into a communication channel, using a causality hook, and/or comparing messages leaving a caller with messages entering a callee, for example. | 10-20-2011 |
20110258612 | METHODS AND SYSTEMS FOR DEBUGGING BYTECODE IN AN ON-DEMAND SERVICE ENVIRONMENT - Methods and systems for debugging byte code in an on-demand service environment system including a system for simulating execution debug in a multi-tenant database environment. In one embodiment, such a method includes receiving a request at a web-server of the system, wherein the request comprises a request for services from a multi-tenant database implementation within the system, in which the multi-tenant database implementation includes elements of hardware and software that are shared by a plurality of separate and distinct customer organizations, each of the separate and distinct customer organizations being remotely located from a host organization having the system executing therein. The method further includes determining one or more trace preferences are active for the request, sending the request to a logging framework communicatively interfaced to the multi-tenant database implementation, processing the request via the logging framework, and capturing at least a portion of the execution data emitted responsive to execution of the plurality of events for use in simulating execution debug of the events. | 10-20-2011 |
20110283262 | ENHANCED RELIABILITY USING DETERMINISTIC MULTIPROCESSING-BASED SYNCHRONIZED REPLICATION - A hardware and/or software facility for executing a multithreaded program is described. The facility causes each of a plurality of machines to execute the multithreaded program deterministically, such that the deterministic execution of the multithreaded program is replaced across the plurality of machines. The facility detects a problem in the execution of the multithreaded Program by one of the plurality of machines. In response, the facility adjusts the execution of the multithreaded program by at least one of the machines of the plurality. | 11-17-2011 |
20110289485 | Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip - Collecting and analyzing trace data while in a software debug mode through direct interthread communication (‘DITC’) on a network on chip (‘NOC’), the NOC including integrated processor (‘IP’) blocks, routers, memory communications controllers, and network interface controllers, with each IP block adapted to a router through a memory communications controller and a network interface controller, where each memory communications controller controlling communications between an IP block and memory, and each network interface controller controlling inter-IP block communications through routers, including enabling the collection of software debug information in a selected set of IP blocks distributed through the NOC, each IP block within the selected set of IP blocks having a set of trace data; collecting software debugging information via the set of trace data; communicating the set of trace data to a destination repository; and analyzing the set of trace data at the destination repository. | 11-24-2011 |
20110302560 | REAL-TIME PROFILING IN A MULTI-CORE ARCHITECTURE - An apparatus comprising a first core of a multi-core processor, a second core of a multi-core processor and a bus matrix. The first core may be configured to communicate through a first input/output port. The first core may also be configured to initiate a testing application. The second core may be configured to communicate through a second input/output port. The second core may also be configured to respond to the testing application. The bus matrix may be connected to the first input/output port and the second input/output port. The bus matrix may transfer data between the first core and the second core. The testing application may generate real-time statistics related to the execution of instructions by the second core. | 12-08-2011 |
20110302561 | ARCHITECTURE-AWARE FIELD AFFINITY ESTIMATION - A data layout optimization may utilize affinity estimation between paris of fields of a record in a computer program. The affinity estimation may be determined based on a trace of an execution and in view of actual processing entities performing each access to the fields. The disclosed subject matter may be configured to be aware of a specific architecture of a target computer having a plurality of processing entities, executing the program so as to provide an improved affinity estimation which may take into account both false sharing issues, spatial locality improvement and the like. | 12-08-2011 |
20110307870 | EXECUTION CAPTURE AND REPLAY BASED DEBUGGING - A debugging tool is provided that is capable of recording code paths taken during a program's execution, and along the way capture the memory state at configurable points in time such as function exits or statements. The tool also records interactions with external systems like a database, and captures which statements resulted in interactions with these systems. An analysis of the output of the debugging tool enables a developer to understand which part of the code executed; what the value of relevant variables were at configurable points in time; and which code statements correlate to which interactions with external systems. | 12-15-2011 |
20110314452 | TRACING JUST-IN-TIME COMPILATION WITH POINTERS TO LOCAL VARIABLES - In one embodiment, a trace optimizing engine may create an optimized trace of an operation segment of a software program. A memory | 12-22-2011 |
20110321016 | INJECTION CONTEXT BASED STATIC ANALYSIS OF COMPUTER SOFTWARE APPLICATIONS - Embodiments of the invention generally relate to injection context based static analysis of computer software applications. Embodiments of the invention may include selecting a sink within a computer software application, tracing a character output stream leading to the sink within the computer software application, determining an injection context of the character output stream at the sink, where the injection context is predefined in association with a state of the character output stream at the sink, identifying any actions that have been predefined in association with the identified injection context, and providing a report of the actions. | 12-29-2011 |
20120005658 | Programmatic Root Cause Analysis For Application Performance Management - Programmatic root cause analysis of application performance problems is provided in accordance with various embodiments. Transactions having multiple components can be monitored to determine if they are exceeding a threshold for their execution time. Monitoring the transactions can include instrumenting one or more applications to gather component level information. For transactions exceeding a threshold, the data collected for the individual components can be analyzed to automatically diagnose the potential cause of the performance problem. Time-series analytical techniques are employed to determine normal values for transaction and component execution times. The values can be dynamic or static. Deviations from these normal values can be detected and reported as a possible cause. Other filters in addition to or in place of execution times for transactions and components can also be used. | 01-05-2012 |
20120030656 | SYSTEM AND METHOD FOR PARAMETRIC SYSTEM EVALUATION - A method and system for evaluating a system are described. A parameter space comprising one or more parameters corresponding to the system and/or an application executed on the system is defined. Additionally, one or more search functions for selecting a parameter from the parameter space to evaluate a desired characteristic of the system are determined. Further, at least one parameter from the parameter space is selected using the one or more search functions and the application is executed using the selected parameter. Subsequently, the execution of the application is monitored and metrics associated with the application are recorded. The method further includes iteratively selecting another parameter from the parameter space based on the recorded metrics and executing the application using the selected another parameter. | 02-02-2012 |
20120030657 | METHOD AND SYSTEM FOR USING A VIRTUALIZATION SYSTEM TO IDENTIFY DEADLOCK CONDITIONS IN MULTI-THREADED PROGRAMS BY CONTROLLING SCHEDULING IN REPLAY - A method and system for determining potential deadlock conditions in a target multi-threaded software application. The target application is first run in a virtual machine and the events within the application are recorded. The recorded events are replayed and analyzed to identify potential lock acquisition conflicts occurring between threads of the application. The potential lock acquisition conflicts are identified by analyzing the order in which resource locks are obtained and pairs of resources that have respective locks obtained in different orders are analyzed. These analyzed pairs are used to define a different order of events in the target application that, when the target application is re-run with the second order of events, may trigger a deadlock condition. The target application is then re-run with the different order of events in an attempt to trigger and then identify potential deadlock situations. | 02-02-2012 |
20120036501 | Method and System for Capturing System and User Events Using Hardware Trace Devices - A method including creating a storage buffer in a portion of memory of a computing device; inserting an instrumentation point in software of a further computing device, the instrumentation point corresponding to an event monitored by a hardware trace device, data corresponding to the event being stored in the storage buffer; executing the software; and processing the data, wherein the data is processed after a completion of the execution of the code. | 02-09-2012 |
20120047492 | DEPLOYMENT OF A TOOL FOR TESTING MIGRATED APPLICATIONS - Configuration information associated with software installed on a production system may be discovered. A script is automatically generated for capturing data traffic from and to the software installed on the production system using the configuration information. The script may be executed to capture data traffic of the software running on the production system. A migrated version of the software may be executed on a test system using requests extracted from the captured data traffic. The responses in the captured data traffic may be compared with responses from the migrated version of the software. | 02-23-2012 |
20120072888 | INFORMATION PROCESSING APPARATUS, LOGGING METHOD, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM ENCODED WITH LOGGING PROGRAM - An information processing apparatus includes an application executing portion which executes an application program, a setting portion which sets whether to keep a log of the application program executed by the application executing portion, and a logging portion which, in the case where it has been set to keep the log by the setting portion, keeps a log of the application program executed, wherein the logging portion includes a determination portion which determines whether the execution of the application program is assured externally, and a forced logging portion which keeps a log of the application program executed, in the case where it is determined that the execution of the application program is not assured externally, even if it has been set not to keep the log by the setting portion. | 03-22-2012 |
20120102468 | REGISTRATION-BASED REMOTE DEBUG WATCH AND MODIFY - A remote debugging technique provides anonymity of program variables and selective debugging capability by providing a registration facility by which program variables are registered locally with a debugging module. An external program then communicates with the debugging modules and observes and/or modifies the program variables by specifying either an index or a variable name. The need to publish symbols is thereby averted and only the variables that a developer is interested in observing need be registered. | 04-26-2012 |
20120110551 | SIMULATING BLACK BOX TEST RESULTS USING INFORMATION FROM WHITE BOX TESTING - Systems, methods are program products for simulating black box test results using information obtained from white box testing, including analyzing computer software (e.g., an application) to identify a potential vulnerability within the computer software application and a plurality of milestones associated with the potential vulnerability, where each of the milestones indicates a location within the computer software application, tracing a path from a first one of the milestones to an entry point into the computer software application, identifying an input to the entry point that would result in a control flow from the entry point and through each of the milestones, describing the potential vulnerability in a description indicating the entry point and the input, and presenting the description via a computer-controlled output medium. | 05-03-2012 |
20120117546 | Run-time Module Interdependency Verification - A method for determining intermodule dependency in software having a plurality of modules, at least a portion of the modules, executing calls to other modules, comprising loading the software modules into a memory, preferably in a contiguous extent, with the modules being logically separated; executing instructions of the software step-by-step with threading disabled; determining whether when an instruction is executed, a module other than the current modules is being called; and if a module other than the current module is being called, storing data sufficient to identify the calling instruction, the calling module, the called instruction and the called module. A computer readable medium, to which a processor of a system is operatively coupled, having executable instructions stored thereon for executing the method on a computer. A computer programmed to execute the method. | 05-10-2012 |
20120124561 | Obtaining Notes for Software Objects - A computer-implemented method for obtaining notes for software objects includes: reproducing, in a customer computer system, a problem that has been detected in the customer computer system; performing a trace while reproducing the problem, the trace identifying at least one object in the customer computer system as being involved in reproducing the problem; identifying, from among multiple notes in a notes repository, at least a first note as applying to the identified object, the identified first note configured for implementation in the customer computer system; and presenting the identified first note in the customer computer system. | 05-17-2012 |
20120137273 | TRACE VISUALIZATION FOR OBJECT ORIENTED PROGRAMS - A method is provided to produce an information structure that indicates call hierarchy relationships among calls of a trace log file and that indicates time sequence relationships among calls of the trace log file, the method comprising: producing call records that correspond to calls identified in the trace log file; creating call hierarchy indicia that indicate hierarchical relationships among calls that correspond to the call records; and creating time sequence indicia that indicate time sequence relationships among calls that correspond to the call records. | 05-31-2012 |
20120137274 | SOFTWARE APPLICATION FEEDBACK COLLECTION SYSTEM AND METHOD - A software application feedback collection system includes a creating module, a usage recorder, an exception recorder, and a sending module. The creating module creates a feedback file in a storage system of the computing device when the feedback file does not exist. The usage recorder obtains usage information regarding usage of the software application and stores the usage information in the feedback file. The exception recorder acquires exception information regarding an exception of the software application and stores the exception information in the feedback file. The sending module sends the feedback file to a server via a network according to a determination that a predetermined criterion is met. | 05-31-2012 |
20120144374 | Capturing Replayable Information at Software Defect Locations in a Multi-Tenant Environment - A method for software debugging in a multi-tenant database network system is provided. When an exception occurs the stack frames in temporary working memory are dumped into long term memory for later analysis. A stack trace is performed from which performance information may be derived, which may aid in discovering the cause of the exception. | 06-07-2012 |
20120151450 | Platform-Agnostic Diagnostic Data Collection and Display - A data collection system may instrument and collect data from arbitrary executable code by loading the executable code into memory and instrumenting the code according to monitoring conditions. The instrumentation may include pointers or bindings to a data collector that may gather and store information when the monitoring condition exists. A display module may allow a programmer to browse the results. The data collection system may operate on any type of native code or intermediate code and may operate with or without symbol tables. | 06-14-2012 |
20120151451 | Post-execution software debugger with event display - A method finds an error in a computer program. A sequence of machine instructions performed by a processor is recorded as trace data. Further, at least one event is selected from a plurality of events. In addition, an operating system instruction address is determined for the at least one event. Further, at least a portion of the trace data is searched for the operating system instruction address. The execution time for an operating system instruction stored in the operating system instruction address is determined. The execution time is searched through in the database to find task related data. The task related data is displayed. | 06-14-2012 |
20120159454 | PROBE INSERTION VIA BACKGROUND VIRTUAL MACHINE - A performance monitoring system is described herein that works with a hypervisor to reserve resources outside of a virtual machine to monitor performance of an application running within the virtual machine. The application receives the guaranteed amount of resources specified by the virtual machine's specifications, and the monitoring consumes resources not associated with the virtual machine. The application running in the virtual machine is already isolated by the hypervisor from the physical machine, and thus additional burdens on the physical machine that allow the hypervisor to continue meeting guarantees to the virtual machine will not impact application performance. The performance monitoring system provides instrumentation of deployed applications that information technology (IT) personnel can dynamically turn on and off without affecting the performance of the deployed application. The performance monitoring system provides a robust framework for monitoring production applications without affecting the performance of those applications during execution. | 06-21-2012 |
20120174076 | SYSTEMS AND METHODS FOR PROFILING SERVERS - Systems and methods for implementing a server profiling device are provided. For example, one method of profiling servers includes implementing a replacement call to intercept a system call using a library wrapper function, and determining a thread identifier for the system call. The method also includes collecting data for an operation of the thread identifier, and creating an in-memory table to store the collected data for the thread identifier. The method also includes obtaining a stack-trace for a number of running threads and combining the stack-trace with the data collected for the thread identifier, and presenting the stack-trace combined with the data collected through a user interface. | 07-05-2012 |
20120174077 | Backward post-execution software debugger - A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints. | 07-05-2012 |
20120185830 | SOFTWARE PROBE MINIMIZATION - A method of developing a tracing solution for the execution of blocks of computer code. The method comprises representing each block of code of an initial tracing solution as a vertex on an initial tracing solution graph. The vertices on the initial tracing solution graph constitute an initial set of vertices The method further comprises checking whether there are any redundant vertices in the initial set of vertices. Redundant vertices are vertices not needed for a tracing solution. If there are any redundant vertices in the initial set of vertices, one ore more of the redundant vertices is eliminated from the initial set of vertices, thereby deriving a reduced set of vertices. | 07-19-2012 |
20120185831 | EXECUTABLE HIGH-LEVEL TRACE FILE GENERATION METHOD - An executable high-level trace file generation method provides reduced debugging effort and time, particularly on initial startup of new or modified hardware. An executable program invokes high-level application programming interfaces (APIs), to perform various tasks. Instructions within the APIs generate a trace file documenting the invoked sequence of APIs by writing a line to a trace file that documents the API and input parameters received by the API. Upon completion of execution of the API, the return value may be documented as a comment line in the trace file. The resulting trace file is then re-executable as a script and may be edited to alter the sequence of APIs invoked and/or the arguments provided. The script interpreter may be a command line interface through which the APIs are invoked, and trace files may be similarly generated that document sequences of manually entered commands. | 07-19-2012 |
20120198423 | Code Path Tracking - Methods, systems, and products are provided for code path tracking. Embodiments include identifying an instrumented trace point in software code to be path tracked; identifying a function executed at the instrumented trace point in the software code; identifying parameters for the function executed at the instrumented trace point; and recording a description of the function, the parameters, and the result of the execution of the function using the parameters. | 08-02-2012 |
20120204156 | SOFTWARE APPLICATION RECREATION - A software application recreation in a computing environment is provided. One embodiment involves analyzing program execution trace data of a software application, and using the analysis results in recreating an executable version of the software application from data traced at significant points during the software application execution. Recreating an executable version of the software application involves creating white space code to simulate the software application execution timing by replacing business logic code of the software application with white space code in the recreated executable version. The recreated executable version of the software application programmatically behaves essentially similarly to the software application. | 08-09-2012 |
20120233600 | INFORMATION PROCESSING APPARATUS AND METHOD OF ACQUIRING TRACE LOG - In an information processing apparatus, a program execution section executes a program, and in the stage of execution of a log acquisition command, acquires the value of a variable set in the log acquisition command. A trace log generation section generates a trace log including identification information on a file set in the log acquisition command, version number on a source code, and the acquired value of the variable, and stores the trace log in a storage device. A source code acquisition section acquires a source code corresponding to a combination of the identification information and the version number, based on the trace log. A character string addition section extracts a character string related to the value of the variable included in the trace code, from the acquired source code, adds the extracted character string to the trace log, and stores the trace log in a storage device. | 09-13-2012 |
20120246623 | APPLICATION INTEGRATED ISSUE MANAGEMENT - The disclosed embodiments relate to an application integrated issue management system wherein a given computer software program includes, in addition to the particular functionality for which the program was designed, integrated issue reporting and tracking functions which allow a user to both report issues, e.g. bugs, defects, enhancements, new function requests, user inquiries, user comments, or combinations thereof, to the software developer's project management system, as well as track previously submitted issue reports in the developer's project management system, without having to leave or otherwise terminate the computer software program. Thereby, a convenient mechanism for reporting and tracking issues is provided which encourages participation by the user of the computer software program. Additional functionality may also be provided, also within the context of the computer software program, such as allowing the user to view issue reports submitted by other users or to assist the developer in selecting which issues to address first, such as by voting on, or ranking, those issues which the user thinks are significant. Further, automated monitors may monitor operation of the computer software program to look for operational patterns, such as inter-operational latencies, which may be indicative of a problem. Upon detection of a suspect pattern of operation, an issue report may be automatically generated and submitted. Suspect patterns may be defined by the developer and/or by the user, such as based on provisions of a service level agreement between the user and the developer defining, for example, tolerances for inter-operational latencies or other operational parameters. | 09-27-2012 |
20120254837 | TASK SWITCH IMMUNIZED PERFORMANCE MONITORING - A performance monitoring technique provides task-switch immune operation without requiring storage and retrieval of the performance monitor state when a task switch occurs. When a hypervisor signals that a task is being resumed, it provides an indication, which starts a delay timer. The delay timer is resettable in case a predetermined time period has not elapsed when the next task switch occurs. After the delay timer expires, analysis of the performance monitor measurements is resumed, which prevents an initial state or a state remaining from a previous task from corrupting the performance monitoring results. The performance monitor may be or include an execution trace unit that collects taken branches in a current trace and may use branch prediction success to determine whether to collect a predicted and taken branch instruction in a current trace or to start a new segment when the branch resolves in a non-predicted direction. | 10-04-2012 |
20120254838 | METHOD AND APPARATUS FOR TRACING MEMORY ACCESSES - Apparatus, computer-readable storage medium and a method executed by a computer for tracing the memory accesses of an object-oriented program comprises assigning a unique identification to each class object created from at least one class in the object-oriented program by modifying a class definition of the at least one class. In response to an unloading of one of the class objects, obtaining class unloading related information from a runtime environment of the object-oriented program and obtaining the unique identification of the unloaded class object according to the returned information. Then releasing memory space assigned to the unloaded class object for storing the memory access information of the unloaded class object. | 10-04-2012 |
20120254839 | SIMULATING BLACK BOX TEST RESULTS USING INFORMATION FROM WHITE BOX TESTING - Systems, methods are program products for simulating black box test results using information obtained from white box testing, including analyzing computer software (e.g., an application) to identify a potential vulnerability within the computer software application and a plurality of milestones associated with the potential vulnerability, where each of the milestones indicates a location within the computer software application, tracing a path from a first one of the milestones to an entry point into the computer software application, identifying an input to the entry point that would result in a control flow from the entry point and through each of the milestones, describing the potential vulnerability in a description indicating the entry point and the input, and presenting the description via a computer-controlled output medium. | 10-04-2012 |
20120284698 | PROGRAM SUBSET EXECUTION AND DEBUG - In response to identification of an error in operation of a system, a debugging module determines where to set a debug entry point for a program subset debug session. An initial file state is captured for at least one file accessed by the system in response to initiation of a subsequent execution of the system. Prior to detection of execution of the system at the debug entry point, any file inputs and file outputs (I/Os) detected during the subsequent execution of the system are queued. Debug entry point metadata, including the captured initial at least one file state, the queued file I/Os, and an image of all instantiated objects at the debug entry point, is stored in response to detection of execution of the system at the debug entry point. | 11-08-2012 |
20120297370 | Stack Analysis for Post Mortem Analysis - A debug tool that generates a call stack listing by analyzing the crash memory dump data without relying on register data values. The tool uses information gathered by the compiler and linker when the program was compiled and linked, including the stack's size and location in memory. By examining the stack location in the crash memory dump image in conjunction with the debugging data generated by the compiler an the linker and any existing trace data, the last valid frame may be reconstructed indicating the location of the crash. | 11-22-2012 |
20120297371 | Method and System for tracing individual Transactions at the Granularity Level of Method Calls Throughout Distributed Heterogeneous Applications without Source Code Modifications Including the Detection of Outgoing Requests - A monitoring system uses existing tracing data describing individual distributed transactions to determine if a recorded thread communication performed by the monitored transactions is internal to a monitored application or whether the recorded thread communication is an outgoing communication. Thread communications which are sent and received by threads that are monitored by the monitoring system are considered to be internal communications. Thread communications for which only the sending thread is monitored are considered to be outgoing communications. The determination process analyzes client side tracing data of the recorded thread communication and determines whether corresponding server side tracing data is available. If no corresponding server side tracing data is available, the thread communication is considered to be an outgoing communications. Examples of thread communications include HTTP requests, web service calls, and remote method invocations. | 11-22-2012 |
20120311542 | DYNAMIC INTERFACE REDUCTION FOR SOFTWARE MODEL CHECKING - Architecture employs an iterative process that incrementally discovers inter-component interactions and explores local state spaces within each component. Thus, the architecture lazily constructs the behavior of the environment of a component in the target software system, and integrates the construction of the inter-component interactions with the model checking process itself, and hence, does not need to eagerly construct the interface process. Component-based state space reduction is applied during the exploration of the whole system. The architecture decomposes a target software system into a set of loosely coupled components where interactions between the components tend to be significantly simpler than interactions within each component. An iterative algorithm facilitates the component-based state space reduction, which is exponential, on the real large-scale software systems. | 12-06-2012 |
20120311543 | REMOVAL OF ASYNCHRONOUS EVENTS IN COMPLEX APPLICATION PERFORMANCE ANALYSIS - A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program. | 12-06-2012 |
20120317549 | Automatic Rules Based Capturing of Graphical Objects for Specified Applications - Graphical objects presented by a computer system are captured by monitoring execution of an application on the computer system, and capturing one or more graphical objects of a graphical user image presented by the computer system and associated with the application. The one or more graphical objects are captured automatically in accordance with a pre-defined set of rules for the application. | 12-13-2012 |
20120317550 | Forward post-execution software debugger - A method and system debug a computer program by using trace data, which is a recording of the sequence of machine instructions executed by a program during a time period along with the addresses and values of memory locations accessed and modified by each machine instruction. After the time period, the method and system use the trace data to simulate the execution of the program during the time period under the control of a debugger. In addition, the method and system use the trace data to simulate the execution of the program during the time period backwards in time under the control of the debugger. | 12-13-2012 |
20120317551 | Post-compile instrumentation of object code for generating execution trace data - The invention is directed to instrumenting object code of an application and/or an operating system on a target machine so that execution trace data can be generated, collected, and subsequently analyzed for various purposes, such as debugging and performance. Automatic instrumentation may be performed on an application's object code before, during or after linking. A target machine's operating system's object code can be manually or automatically instrumented. By identifying address space switches and thread switches in the operating system's object code, instrumented code can be inserted at locations that enable the execution trace data to be generated. The instrumentation of the operating system and application can enable visibility of total system behavior by enabling generation of trace information sufficient to reconstruct address space switches and context switches. | 12-13-2012 |
20130007719 | RUNNING AN EXECUTABLE DURING A DEBUG SESSION - A method, computer program product, and system for running an executable during a debug session is described. A method may comprise running, via a computing device, a daemon during a debug session, the debug session facilitated, at least in part, by a dynamic tracing tool. The method may further comprise receiving, via the daemon, one or more commands from the dynamic tracing tool. The method may additionally comprise in response to receiving the one or more commands from the dynamic tracing tool, initiating an executable. | 01-03-2013 |
20130014088 | CONTINUOUS QUERY LANGUAGE (CQL) DEBUGGER IN COMPLEX EVENT PROCESSING (CEP) - A method including receiving, at a computer system, debugging configuration information specifying a functional area of a data stream processing server to be debugged, is described. Furthermore, the method includes identifying, by the computer system, an object associated with the functional area that has been instantiated by the data stream processing server, determining, by the computer system, that tracing for the object is enabled to perform the debugging, and instantiating, by the computer system, a tracelet associated with the object. Further, the method includes stepping, by the computer system, through the tracelet associated with the object to debug the object, and displaying, by the computer system, a visual representation of debugging results associated with the object. | 01-10-2013 |
20130042223 | METHODS AND/OR SYSTEMS FOR DETERMINING A SERIES OF RETURN CALLSTACKS - To reconstruct a call stack, a range of call addresses is determined. Based on the range of addresses, raw stack data is extracted based on the execution of a computer program. The raw stack data is parsed to reconstruct a call stack (or a series of call stacks). In obtaining the call stack, a depth between a function and a return address is calculated. | 02-14-2013 |
20130047140 | TRACKING OF CODE BASE AND DEFECT DIAGNOSTIC COUPLING WITH AUTOMATED TRIAGE - In response to a test case error generated by execution of a test case against a code build, a source code segment that caused the test case error is identified by a defect monitor. The identified source code segment is linked to the test case that generated the test case error. The linked source code segment is monitored for code changes. A determination is made as to whether a test case re-execution criterion associated with the test case has been satisfied based upon a detected code change of the linked source code segment. An indication to re-execute the test case is generated in response to determining that the test case re-execution criterion associated with the test case has been satisfied. | 02-21-2013 |
20130047141 | TRACKING OF CODE BASE AND DEFECT DIAGNOSTIC COUPLING WITH AUTOMATED TRIAGE - In response to a test case error generated by execution of a test case against a code build, a source code segment that caused the test case error is identified by a defect monitor. The identified source code segment is linked to the test case that generated the test case error. The linked source code segment is monitored for code changes. A determination is made as to whether a test case re-execution criterion associated with the test case has been satisfied based upon a detected code change of the linked source code segment. An indication to re-execute the test case is generated in response to determining that the test case re-execution criterion associated with the test case has been satisfied. | 02-21-2013 |
20130055215 | CAPTURING MULTI-COMPONENT TRACE FOR UNIT FOR WORK - Provided are techniques for the tracing of computer processes and, more specifically, to techniques that enable a work unit to be traced across multiple processing components. A data structure is created and associated with a work unit. The first time a unit of work is processed a tracing context is retrieved form a pool and associated with the data structure. As the unit of work is passed from component to component, the data structure is passed so that each component has access and is able to augment the same tracing context associated with the unit of work. | 02-28-2013 |
20130055216 | APPLICATION MODIFICATION PORTION SEARCHING DEVICE AND APPLICATION MODIFICATION PORTION SEARCHING METHOD - There are provided: a test executing section which generates a plurality of logs when executing a coverage test for an application based on an inputted parameter; and a result processing section which generates a point candidate report based on the plurality of logs. The plurality of logs respectively indicate a call stack of a method designating the parameter as an argument among a plurality of methods called during execution of the coverage test. The call stack indicates a location on the application, in which a call of the method is defined. The point candidate report indicates a candidate for a point in the application, for which a modification is necessary when a dispatch of process is executed based on the parameter. | 02-28-2013 |
20130061212 | Modern Application Tracing - Modern application tracing techniques are described herein that enable dynamic logging of events declared in a static manifest. Various events for logging can be declared in a static manifest. The static manifest may then be compiled to translate the declared events into a library of corresponding functions that can be called by “modern” applications written using dynamic code. Calls made to these functions from dynamic code are converted to corresponding static events and forwarded to existing tracing application programming interfaces (APIs) designed to handle logging of static events for “legacy” applications that use compiled code. In this manner, static functions that are compatible with tracing APIs can be created and called dynamically from dynamic code. This can occur without requiring administrative rights to install the code and while preserving existing features for legacy applications, such that a tracing log can include events from both modern applications and legacy applications. | 03-07-2013 |
20130074050 | SELECTIVE TRACE FACILITY - An approach to selectively recording trace data. The approach sifts through process control and state data to store data that is most relevant to aiding debugging while reducing the overall amount of data that is stored in a trace data set by a trace facility. The approach may involve initiating a trace operation for the software component and, for each resource of the software component, determining whether the resource is currently in use. For those resources in use, the current state of the resource is compared with the previous state of the resource. If the current state has changed, the current state is written to the trace data set. If the resource is not in use, or the current state has not changed, no entry is made to the trace data set. The approach may also analyze users to determine which resources the users are holding and/or waiting for. | 03-21-2013 |
20130081001 | IMMEDIATE DELAY TRACKER TOOL - An immediate delay tracker tool listens for the occurrence of user-specified events that exceed a delay threshold. In an embodiment, the events are associated with immediate user actions processed by a user interface (UI) thread where the response time of the immediate user action requires an instantaneous response. When the event exceeds the delay threshold, the control flow of all the processes and/or threads in the system is recorded, filtered and then analyzed for the source of the delay. | 03-28-2013 |
20130086558 | Testing Program Code in Multiple Process Modes - The subject disclosure is directed towards testing program code in multiple process modes without developing separate test case source code for each process mode. Source code for one or more test cases is developed once in accordance with a standard template. Two or more process mode implementations associated with the one or more test cases are built using common source code. Based on a test command, one or more of the process mode implementations is selected for executing a test plan. | 04-04-2013 |
20130111451 | Program Log Record Optimization | 05-02-2013 |
20130139128 | METHOD FOR REMOTE DEBUGGING USING A REPLICATED OPERATING ENVIRONMENT - A debugging system receives traceback data representing logging of a system error of a target system. An operating environment of the target system is replicated by creating a virtual machine (VM) having characteristics represented by the state data representing an operating state of the target system. An analysis is performed on the traceback data within the VM to simulate the system error. | 05-30-2013 |
20130139129 | TEST METHOD FOR HANDHELD ELECTRONIC DEVICE APPLICATION - A test method for a handheld electronic device application is introduced. The test method is for testing a handheld electronic device installed thereon with an open operating platform and equipped with a touchscreen by executing a test program installed on the open operating platform to perform a test procedure. The test program identifies selected coordinates displayed on the touchscreen and corresponding to an application, instructs the open operating platform to execute the application based on the selected coordinates, records execution results, and exits an operating interface for the application to execute the application again. The test method cuts labor-related costs, maintains testing stability of the application, and yields reliable test results. | 05-30-2013 |
20130145350 | EFFICIENT, LARGE SCALE TRACE STORAGE SYSTEM - A diagnostic system includes one or more processors for executing machine-executable instructions and one or more machine-readable storage media for storing the machine-executable instructions. The instructions include a plurality of traces. Each trace is a trace of events executing on a computing system. The system also includes processing logic configured to partition data in the trace into a first trace independent component which includes trace-independent information and a second trace dependent component which includes trace instance information. The system further includes a memory for storing the first trace independent component in a first data structure and the second trace dependent component in a second data structure. | 06-06-2013 |
20130159977 | OPEN KERNEL TRACE AGGREGATION - A kernel trace system is described that acts as a kernel driver to insert traces into an open system kernel using existing kernel probe application-programming interfaces (APIs) and copies these events to an existing logging module for transfer to user space. The new module aggregates kernel traces to a performance logging module. A performance logging module can be extended with the kernel trace system herein to include new events in an open kernel not originally included in the implementation of the performance logging module. In this way, the kernel trace system can cause events to be logged that were not logged in the kernel as provided by the operating system vendor, and can do so without requiring that a new version of the operating system be built. The probes can be inserted dynamically at run time on an existing kernel to extract additional trace information. | 06-20-2013 |
20130179866 | Debugging A High Performance Computing Program - Methods, apparatus, and computer program products are disclosed for debugging a high performance computing program by gathering lists of addresses of calling instructions for a plurality of threads of execution of the program, assigning the threads to groups in dependence upon the addresses, and displaying the groups to identify defective threads. | 07-11-2013 |
20130205281 | TRACER BASED RUNTIME OPTIMIZATION FOR DYNAMIC PROGRAMMING LANGUAGES - A method and an apparatus that generate tracer data randomly and infrequently for origins and destinations of values created during runtime of a compiled code of a source code is described. A tracer graph may be updated to record the origins and destinations of the values during the runtime. The compiled code may be optimized to reduce processing resources between the origins and the destinations of the values according to the tracer graph. The optimized compiled code may be executed for at least a portion of the source code. | 08-08-2013 |
20130219370 | PROFILING AND SEQUENCING OPERATORS EXECUTABLE IN AN EMULATED COMPUTING SYSTEM - Methods and systems are disclosed for analyzing performance of a translated code stream executing within a central processing module. One method includes, during execution of one or more native instructions corresponding to each non-native operator in the code stream by the code execution unit, counting the occurrence of the non-native operator, determining a duration of execution of the one or more native instructions, and adding the non-native operator to a trace sequence. The method also includes, after execution of the code stream within the central processing module, generating a data file of non-native operators executed within the code stream, the data file of operators including a name of each non-native operator, an elapsed amount of time within the code execution unit that the one or more native operators corresponding to the non-native operator are executed, and a number of occurrences of the non-native operator within the code stream. | 08-22-2013 |
20130219371 | TIME-BASED TRACE FACILITY - Method, system, and computer program product embodiments of a time-based trace facility for facilitating software debugging without interfering with the run-time behavior, performance or resource usage of the traced software are provided. The trace facility resides in a different address space than the target address space and uses different time-slices of CPU resources to execute the instructions in the address spaces. The trace facility uses a cross-memory mode to read the state data from the target address space in accordance with a time schedule. The trace facility writes the state data to a trace area, which may be located in either the target or trace address spaces or external storage. With this approach, the trace facility can read a large amount of state data frequently to construct the type of historical record needed to analysis run-time behavior, performance and resource usage. | 08-22-2013 |
20130219372 | Runtime Settings Derived from Relationships Identified in Tracer Data - An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance. | 08-22-2013 |
20130227529 | Runtime Memory Settings Derived from Trace Data - An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance. | 08-29-2013 |
20130239095 | METHOD AND SYSTEM FOR TRANSFORMING INTERACTION MODELS INTO SERVICE DEFINITIONS - A method and system for generating a set of service definitions relating to a computer application based on a set of interaction models relating to a set of participants in the interaction models. For each participant, a set of message traces is extracted from the set of interaction models and common message events in each message trace are identified. The common message events are transformed into service actions and a service definition is generated including the service actions. The generated service definition may then be deployed on a suitable computing system, such as, for example, a Service Oriented Architecture (SOA) platform. | 09-12-2013 |
20130239096 | Application Programming Interface Tracing Mechanism - Example systems and methods of providing an application programming interface tracing mechanism are presented. In one example, an application programming interface for an application is provided, the interface including an interface object. A proxy object is created for the interlace object. At the proxy object, method calls from the application for the interface object are received, recorded, and passed to the interface object. An execution trace including the recorded method calls is generated. | 09-12-2013 |
20130263093 | OPTIONAL LOGGING OF DEBUG ACTIVITIES IN A REAL TIME INSTRUCTION TRACING LOG - In accordance with embodiments disclosed herein, there are provided methods, systems, mechanisms, techniques, and apparatuses for implementing optional logging of debug activities in a real time instruction tracing log. For example, in one embodiment, such means may include an integrated circuit having means for initiating instruction tracing for instructions of a traced application, mode, or code region, as the instructions are executed by the integrated circuit; means for generating a plurality of packets to a debug log describing the instruction tracing; means for initiating an alternative mode of execution within the integrated circuit; and means for suppressing indication of entering the alternative mode of execution. Additional and alternative means may be implemented for selectively causing an integrated circuit to operate in accordance with an invisible trace mode or a visible trace mode upon transition to the alternative mode of execution. | 10-03-2013 |
20130268918 | ABSTRACTION-GUIDED SYNTHESIS - Given a program P, a specification S, and an abstraction function α, verification determines whether P satisfies the specification S under the abstraction α. If not, a trace T that violate the specification is selected, and either the abstraction α is refined or a constraint that avoids the trace T is computed and added to a set of constraints. The set of constraints are used to modify the program P. | 10-10-2013 |
20130268919 | METHOD AND COMPUTER PROGRAMMING PRODUCT FOR DETECTING MEMORY LEAKS - The invention relates to a method for detecting memory leaks produced by a program running on a computer, wherein during a program run, for each allocation of a memory region at least one information item concerning the performed allocation is entered in an allocation list and a check is made as to whether the allocation list contains a stored reference pattern of information that is typical for one or more memory leaks, and after a stored reference pattern is found the program run is paused, or a memory leak thus detected is associated with the region of the running program whose processing resulted in the most recent entry in the allocation list. The invention further relates to a computer programming product which carries out the method when the computer program is executed on a computer. | 10-10-2013 |
20130283240 | Application Tracing by Distributed Objectives - A tracing system may divide trace objectives across multiple instances of an application, then deploy the objectives to be traced. The results of the various objectives may be aggregated into a detailed tracing representation of the application. The trace objectives may define specific functions, processes, memory objects, events, input parameters, or other subsets of tracing data that may be collected. The objectives may be deployed on separate instances of an application that may be running on different devices. In some cases, the objectives may be deployed at different time intervals. The trace objectives may be lightweight, relatively non-intrusive tracing workloads that, when results are aggregated, may provide a holistic view of an application's performance. | 10-24-2013 |
20130283241 | Periodicity Optimization in an Automated Tracing System - Periodicity similarity between two different tracer objectives may be used to identify additional input parameters to sample. The tracer objectives may be individual portions of a large tracer operation, and each of the tracer objectives may have separate set of input objects for which data may be collected. After collecting data for a tracer objective, other tracer objectives with similar periodicities may be identified. The input objects from the other tracer objectives may be added to a tracer objective and the tracer objective may be executed to determine a statistical significance of the newly added objective. An iterative process may traverse multiple input objects until exhausting possible input objects and a statistically significant set of input objects are identified. | 10-24-2013 |
20130283242 | Tracing Closures in a Callback Environment - An automated tracing system may create wrapping functions for each function in an application, including callback functions that may be passed as arguments to or from a given function. The wrapping function may include tracing data which may be used to generate a topology of the application, as well as other tracing data which may be used for performance measurements. In many cases, the wrapping function may be at least partially isomorphic with respect to the inner function being wrapped. | 10-24-2013 |
20130290936 | Method and System for Correlated Tracing with Automated Multi-Layer Function Instrumentation Localization - A system for automatically instrumenting and tracing an application program and related software components achieves a correlated tracing of the program execution. It includes tracing of endpoints that are the set of functions in the program execution path that the developers are interested. The tracing endpoints and related events become the total set of functions to be traced in the program (called instrument points). This invention automatically analyzes the program and generates such instrumentation points to enable correlated tracing. The generated set of instrumentation points addresses common questions that developers ask when they use monitoring tools. | 10-31-2013 |
20130305225 | STREAMS DEBUGGING WITHIN A WINDOWING CONDITION - Method, system and computer program product for performing an operation, the operation including providing a plurality of processing elements comprising one or more operators, the operators configured to process streaming data tuples. The operation then establishes an operator graph of multiple operators, the operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator. The operation then defines a breakpoint, the breakpoint comprising a condition, the condition based on attribute values of data tuples in a window of at least one operator, the window comprising a plurality of data tuples in an operator. The operation, upon detecting occurrence of the condition, triggers the breakpoint to halt processing by each of the plurality of operators in the operator graph. | 11-14-2013 |
20130305226 | Collecting Tracepoint Data - Collecting tracepoint data includes: maintaining, by a log handler, a list of a plurality of tracepoints and each tracepoint's parameters, the values of the parameters defining, for a tracepoint, information to be stored when an application encounters the tracepoint; encountering, by an application, a tracepoint; determining, responsive to the encounter by the log handler, whether the tracepoint is linked to a different tracepoint; and if the tracepoint is linked to a different tracepoint, determining, by the log handler, whether to modify values of the parameters for the different tracepoint and executing the different tracepoint. | 11-14-2013 |
20130305227 | STREAMS DEBUGGING WITHIN A WINDOWING CONDITION - Method product for performing an operation, the operation including providing a plurality of processing elements comprising one or more operators, the operators configured to process streaming data tuples. The operation then establishes an operator graph of multiple operators, the operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator. The operation then defines a breakpoint, the breakpoint comprising a condition, the condition based on attribute values of data tuples in a window of at least one operator, the window comprising a plurality of data tuples in an operator. The operation, upon detecting occurrence of the condition, triggers the breakpoint to halt processing by each of the plurality of operators in the operator graph. | 11-14-2013 |
20130318504 | Execution Breakpoints in an Integrated Development Environment for Debugging Dataflow Progrrams - A dataflow program defining actors that pass tokens from one to another via connections is processed by causing one or more processors to access and execute instructions of the dataflow program. Execution of the dataflow program generates events (e.g., token production/consumption, actor state after actor action firing). For each generated event, processing evaluates whether there exists a sequence of events that matches a breakpoint condition, and if such a sequence exists then execution of the dataflow program is halted. The breakpoint condition is at least partially based on an extended history of related events, wherein two events are related to one another if they pertain to a same connection or if they pertain to a same actor state, and wherein the extended history comprises at least two related events. | 11-28-2013 |
20130318505 | Efficient Unified Tracing of Kernel and User Events with Multi-Mode Stacking - The invention efficiently provides user code information for kernel level tracing approaches. It applies an advanced variation of stack walking called multi-mode stack walking to the entire system level and generates the unified trace where the user code and kernel events are integrated. The invention uses runtime stack information and internal kernel data structures. Therefore, source code for user level code and libraries are not required for inspection. The invention introduces the mechanism to narrow down the monitoring focus to specific application software and improve monitoring performance. | 11-28-2013 |
20130318506 | Profiling Operating Context - At least some of the illustrative embodiments are a computer-readable medium storing a program that, when executed by a processor, causes the processor to obtain values indicative of a state of an operating context parameter during execution of a traced program on a target processor, and display an indication of a proportion of time during a trace period of the traced program that the target processor operated with the operating context parameter in a particular state. | 11-28-2013 |
20130326486 | KEYWORD BASED SOFTWARE TESTING SYSTEM AND METHOD - An improved software testing system is described. In various embodiments, the system may produce a glossary containing keywords from the program state information associated with a software application to be tested. The system may produce a state engine model for the software application utilizing the program state information associated with the software application. The system may generate a test script by causing the software application to move through states identified by the state engine model such that the test script can identify a sequence of steps or keywords from the glossary. The system may select a keyword based on the current state of the software application and persona information. A persona may indicate a type of testing. | 12-05-2013 |
20130332909 | METHOD OF TRACING OBJECT ALLOCATION SITE IN PROGRAM, AS WELL AS COMPUTER SYSTEM AND COMPUTER PROGRAM THEREFOR - A data structure of a run-time object having a hash value field. The data structure allows an object allocation site to be traced from the run-time object, the object allocation site being a site in a program allocating the run-time object. A method for allowing an object allocation site to be traced from a run-time object includes embedding a value corresponding to the object allocation site in the program. A hash-value field includes the embedded value and the object identifier, and the tracing is performed by identifying the object allocation site that corresponds to the embedded value. A computer system for tracing an object allocation site includes a memory that stores the run-time object; an acquirer that acquires the value from a hash value field; and an identification unit that identifies the object allocation site that corresponds to the acquired value. | 12-12-2013 |
20130339931 | APPLICATION TRACE REPLAY AND SIMULATION SYSTEMS AND METHODS - Example systems and methods for trace replay and simulation are presented. In an example, a trace player can simulate the interactions of a variety of systems by replaying a trace log of previous interactions between two of the systems. The trace log may be modified prior to the replay to substitute identifying session and system information, and parsed for relevant interaction data. The trace log data may be modified further, prior to or during reply, through a user interface, thereby allowing a user to dynamically interact with the replay and to assist with debugging or testing of the systems. | 12-19-2013 |
20130339932 | Methods and Systems for Reporting on Build Runs in Software Development - A method for reporting build runs includes: obtaining code changes for a software product; identifying the code change as affecting a work item of a software product under development, the work item specifies a feature to be added to or a defect to be removed from the software product; generating (i) a plurality of build runs of the software product, respective build runs corresponding to one or more code changes; and (ii) data associating the work item with one or more build runs that each correspond to at least one of the one or more code changes specified as involving the work item; receiving a user input selecting the work item; and in response to the user input, displaying respective identifiers of at least one build run of the one or more build runs associated with the work item, including presenting an identifier of the at least one build run. | 12-19-2013 |
20130346950 | USABILITY TESTING - Methods, computer-readable media, and systems are provided for usability testing. Usability testing can include recording, via a testing tool, actions of a user of an application and interactions of the user with the application | 12-26-2013 |
20140013311 | Iterative Bottleneck Detector for Executing Applications - A bottleneck detector may use an iterative method to identify a bottleneck with specificity. An automated checkpoint inserter may place checkpoints in an application. When a bottleneck is detected in an area of an application, the first set of checkpoints may be removed and a new set of checkpoints may be placed in the area of the bottleneck. The process may iterate until a bottleneck may be identified with enough specificity to aid a developer or administrator of an application. In some cases, the process may identify a specific function or line of code where a bottleneck occurs. | 01-09-2014 |
20140019944 | Automated Identification of Redundant Method Calls - Embodiments of the invention may provide for collecting specified data each time that a call to a given method occurs, wherein a given call to the given method is associated with a set of arguments comprising one or more particular argument values for the given method, and the collected data includes an element uniquely identifying each of the particular argument values. The process may further include storing the collected data at a selected location, and selecting a call threshold for the given method, wherein the call threshold comprises a specified number of occurrences of the given call to the given method, when the program is running. The collected data may be selectively analyzed at the storage location, to determine whether an occurrence of the given call to the given method has exceeded the call threshold. | 01-16-2014 |
20140026126 | METHODS AND APPARATUSES FOR INTERCONNECT TRACING - A trace monitor configured to trace an exchange of a plurality of signals between a master device and a slave device of the system on chip, wherein the plurality of signals have a number of requests and a number of responses; and track the number of requests and the number of responses made before and after tracing is activated to determine which Reponses of the number of responses to trace after tracing is activated and a remaining number of responses to trace after tracing is deactivated. | 01-23-2014 |
20140047416 | Failure Profiling for Continued Code Optimization - A method and an apparatus to continuously re-compile a code are described. The code can be compiled in a speculatively optimized manner from a source code to access an untyped variable according to a type prediction of runtime values for the untyped variable. Failures of the type prediction during the execution can be dynamically tracked. Each failure may be associated a runtime value with a type outside of the type prediction. The type prediction may be adjusted according to the failures tracked for future runtime values of the untyped variable. The source code can be recompiled for execution to optimize the access to the untyped variable for the future runtime values according to the adjusted type prediction. | 02-13-2014 |
20140059523 | HARDWARE-ASSISTED PROGRAM TRACE COLLECTION WITH SELECTABLE CALL-SIGNATURE CAPTURE - Hardware-assisted program tracing is facilitated by a processor that includes a root instruction address register, a program trace signature computation unit and a call signature register. When a program instruction having an address matching the root instruction address register is executed, a program trace signature is captured in the call signature register and capture of branch history is commenced. By accumulating different values of the call signature register, for example in response to an interrupt generated when the root instruction is executed, software that performs program tracing can obtain signatures of all of the multiple execution paths that lead to the root instruction, which is also specified by software in order to set different root instructions for program tracing. In an alternative implementation, a storage for multiple call signatures is provided in the processor and read at once by the software. | 02-27-2014 |
20140068567 | DETERMINING RELEVANT EVENTS IN SOURCE CODE ANALYSIS - In embodiments of determining relevant events in source code analysis, a computing device includes a key event manager that is implemented to traverse executable paths in source code of executable software instructions, log events along the executable paths in the source code, and determine a defect in the source code along an executable path in the source code. A state machine is implemented to traverse back through the logged events and determine relevant events that are associated with the defect in the source code. An analysis output of the relevant events can then be generated to indicate the defect in the source code and a cause of the defect. | 03-06-2014 |
20140068568 | SYSTEM AND METHOD FOR DYNAMICALLY DEBUGGING DATA IN A MULTI-TENANT DATABASE ENVIRONMENT - Methods and systems are provided for debugging application code in an on demand environment. The method includes executing the code on a server in the on demand environment; identifying a first location within the code having a suspected error; defining a first check point within the code corresponding to the first location; subsequently re-executing the code, including the first check point, on the server; creating a memory dump corresponding the first check point during re-execution of the code; and debugging the code based on the heap dump without suspending subsequent re-execution of the code. | 03-06-2014 |
20140089902 | MONITORING SOFTWARE PERFORMANCE - Systems, methods and computer program products may provide monitoring of software performance on a computer. A method of monitoring software performance in a computer may include marking at least one of a load request and a store request, the marked request including an effective instruction address and an effective data address, recording the effective instruction and data addresses in a processor core and sending the marked request to a memory subsystem. The method may also include receiving a fabric response for the marked request, recording the fabric response in the core and tying the effective instruction and data addresses and the fabric response together in a sample. | 03-27-2014 |
20140096114 | EFFICIENT METHOD DATA RECORDING - According to one general aspect, a method may include monitoring the execution or at least a portion of a software application. The method may also include collecting subroutine call information regarding a plurality of subroutine calls included by the portion of the software application, wherein one or more of the subroutine calls is selected for detailed data recording. The method may further include pruning, as the software application is being executed, a subroutine call tree to include only the subroutine calls selected for detailed data recording and one or more parent subroutine calls of each subroutine calls selected for detailed data recording. | 04-03-2014 |
20140109064 | MULTI-THREADED DEBUGGER SUPPORT - A method and information processing system facilitate debugging of a multi-threaded application. A control program request associated with at least one thread of a process that has been designated for debugging is generated. The control program request is placed into a memory buffer associated with the thread by the debugger. The memory buffer is passed to a control program. A plurality of memory buffers is monitored. Each memory buffer in the plurality of memory buffers is associated with a different thread of the process. At least one memory buffer in the plurality of memory buffers is determined to include debugging event information from the control program determining. The debugging event information is processed. The processing includes at least one of notifying a user of the debugging event information and generating at least one control program request for a thread associated with the at least one memory buffer. | 04-17-2014 |
20140115565 | TEST SIMILARITY DETECTION WITH METHOD CALL SEQUENCE ANALYSIS - A computer-implemented method for detecting test similarity between first and second tests for a software system. The computer-implemented method includes receiving data indicative of respective method call sequences executed during each of the first and second tests, generating, with a processor, a similarity score for the first and second tests based on a comparison of the respective method call sequences, and providing, via a user interface, a result of the comparison based on the similarity score. | 04-24-2014 |
20140181794 | SYSTEM AND METHOD FOR CORRECT EXECUTION OF SOFTWARE - In an embodiment a software application may include a “baseline trace” indicating proper application execution. The baseline trace may include counts for various types of instructions (e.g., how many times each of a LR instruction and a MV instruction occurs during an execution of code). The finished application includes the baseline trace. Upon execution the application randomly selects which of the various types of instructions to count during execution (e.g., LR or MV instruction) to produce a “real time trace”. The application executes and produces the real-time trace. The baseline trace is then compared to the real-time trace, which is specific to the randomly chosen type of instruction. If the traces are within a pre-determined range of each other the user has a level of assurance the software is operating correctly. Other embodiments are described herein. | 06-26-2014 |
20140181795 | CAPTURING MULTI-COMPONENT TRACE FOR UNIT OF WORK - Provided are techniques for the tracing of computer processes and, more specifically, to techniques that enable a work unit to be traced across multiple processing components. A data structure is created and associated with a work unit. The first time a unit of work is processed a tracing context is retrieved form a pool and associated with the data structure. As the unit of work is passed from component to component, the data structure is passed so that each component has access and is able to augment the same tracing context associated with the unit of work. | 06-26-2014 |
20140208298 | PROGRAM SUBSET EXECUTION AND DEBUG - In response to identification of an error in operation of a system, a debugging module determines where to set a debug entry point for a program subset debug session. An initial file state is captured for at least one file accessed by the system in response to initiation of a subsequent execution of the system. Prior to detection of execution of the system at the debug entry point, any file inputs and file outputs (I/Os) detected during the subsequent execution of the system are queued. Debug entry point metadata, including the captured initial at least one file state, the queued file I/Os, and an image of all instantiated objects at the debug entry point, is stored in response to detection of execution of the system at the debug entry point. | 07-24-2014 |
20140215443 | Methods and Systems of Distributed Tracing - A system and methods are provided for distributed tracing in a distributed application. In one embodiment, a method includes observing a plurality of messages sent and received among components of the distributed application, generating a probabilistic model of a call flow from observed messages of the distributed system, and constructing a call flow graph based on the probabilistic model for the distributed application. Distributed tracing may include observing messages by performing the subscription-based observation techniques and operations to receive, message traces describing messages being communicated among components of the distributed application. In this regard, the tracing service may merge message traces from different instrumentation points with message traces obtained by observing message queues to generate a probabilistic model and call flow graph. A distributed application developer or other relevant user may benefit in efficiently and effectively tracking down a cause of an abnormal behavior or analyzing performance profiles. | 07-31-2014 |
20140215444 | Methods and Systems of Function-Specific Tracing - A system and methods are provided for function-specific tracing of a program. In one embodiment, a method includes generating a trace profile identifying one or more functions of a target program, wherein the trace profile identifies one or more functions to trace and depth of tracing for each function to be traced, loading the trace profile and the target program, identifying traced functions in the target program based on the trace profile, patching the target program to call a trace parameter for one or more functions, wherein traced functions are declared at runtime, and observing function calls for traced functions of the application. In this regard, individual functions are traced and debugged on a function-by-function basis without modifying the code or pre-arranging functions so they are traceable. As such, the scope of tracing may be dynamically limited to yield only information that is desired. | 07-31-2014 |
20140237454 | AUTOMATED DEBUG TRACE SPECIFICATION - Debugging a debug target software by: (i) generating a first log file set, including at least one log file, based upon how the computer hardware set executes the instructions of the computer software set; (ii) responsive to a first error in the execution of the computer software set, examining at least a portion of the first log file set; and (iii) creating, based at least in part upon the examination of the first log file set, augmented logging instructions for generating augmented logging information, which is helpful for debugging. | 08-21-2014 |
20140245268 | SYSTEM AND METHOD FOR TROUBLESHOOTING SOFTWARE CONFIGURATION PROBLEMS USING APPLICATION TRACING - In a general aspect, a tracer is configured to instrument an application by injecting at least one interrupt instruction at a function entry point in a memory image of the application such that executable code of the application is not modified. The tracer is configured to collect information relating to execution of the application when the inserted at least one interrupt instruction is triggered during runtime of the application including tracing at least one operating system function used by the application at the function entry point. The tracer is configured to create an application signature based on the collected information. The application signature provides information about at least one system object accessed by the at least one operating system function. | 08-28-2014 |
20140258990 | METHOD AND SYSTEM FOR PROVIDING A CORE DUMP-LEVEL STACK TRACE - A system and a method are disclosed for providing a core dump-level stack trace. In one example, the method includes receiving, by a processing device, a recorded state of a program, the recorded state including a base address of the program and a stack frame including an executable address for a call instruction of a function of the program; determining, by the processing device, a list of functions in view of the recorded state of the program, and creating, by the processing device, a stack trace in view of the list of functions without using debugging symbols. | 09-11-2014 |
20140258991 | TRACE COVERAGE ANALYSIS - A method and apparatus for estimating coverage of a computer program from traces, the method comprising: receiving trace data generated by an execution of an executable unit; and estimating coverage of the executable unit from the trace data, wherein estimating coverage comprises estimating trace coverage. | 09-11-2014 |
20140282426 | DIVIDE AND CONQUER APPROACH TO SCENARIO TIMELINE ACTIVITY ATTRIBUTION - In one embodiment, a system analyzer may iteratively sub-partition the trace timeline | 09-18-2014 |
20140282427 | DIAGNOSTICS OF STATE TRANSITIONS - A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions. | 09-18-2014 |
20140282428 | EMBEDDING AND EXECUTING TRACE FUNCTIONS IN CODE TO GATHER TRACE DATA - Provided are a computer program product, system, and method for embedding and executing trace functions in code to gather trace data. A plurality of trace functions are embedded in the code. For each embedded trace function, a trace level is included indicating code to which the trace applies. The trace level comprises one of a plurality of levels. During the execution of the code, the embedded trace functions having one of the levels associated with a specified at least one level specified are executed. The embedded trace functions associated with at least one level not comprising one of the at least one specified level are not invoked. | 09-18-2014 |
20140289710 | MONITORING SOFTWARE EXECUTION - A method enables a computer to execute software and to monitor software execution, the method comprising: acquiring, by one or more processors, image data of a screen image displayed on a display device while monitored software is executed; acquiring, by one or more processors, peripheral information, wherein the peripheral information is a state of software and hardware in which the software is executed, at a time of acquisition of the image data; and adding, by one or more processors, the peripheral information to the image data and storing the image data having the peripheral information added thereto into a storage device, so that, in response to an image based on the image data being displayed on the display device, a content of the peripheral information acquired by the peripheral information acquiring unit is displayed along with the screen image. | 09-25-2014 |
20140298301 | Backward post-execution software debugger - A method finds an error in a computer program. A plurality of execution breakpoints are set in the computer program. A portion of the execution of the computer program is simulated as recorded in the trace data in the reverse order until one a plurality of conditions is met, wherein one of the plurality of conditions is an attempt to execute a machine instruction associated with one of the plurality of execution breakpoints. | 10-02-2014 |
20140317603 | Multiple Tracer Configurations Applied on a Function-by-Function Level - A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration. | 10-23-2014 |
20140317604 | Real Time Analysis of Tracer Summaries to Change Tracer Behavior - Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes. | 10-23-2014 |
20140317605 | User Interaction Analysis of Tracer Data for Configuring an Application Tracer - A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function. | 10-23-2014 |
20140317606 | Error List and Bug Report Analysis for Configuring an Application Tracer - Error logs, bug reports, and other databases identifying problems with a tracer system may be mined to determine how a tracer may interact with a given function, module, or other group of functions. Based on such reports, a tracer may be configured to avoid certain functions or to trace such functions in a specific manner. In some cases, tracer may be configured to limit tracing to certain parameters or with other limitations to avoid any known conditions under which errors occur. | 10-23-2014 |
20140325487 | SOFTWARE DEFECT REPORTING - Provided are approaches for software defect reporting. Specifically, one approach provides identifying a software defect; generating a software defect report, wherein the software defect report is generated in real-time as the software defect is identified during testing of the test case, wherein the software defect report is submitted by a testing entity to a software developer responsible for creating a software product having the software defect, and wherein the defect report contains information to identify the location of the software defect in the application code of the software product; determining if the software defect report information is complete; and if the software defect report information is not complete, the updating the defect report information, determining if the software defect is reproducible, and recreating the software defect in the case that the software defect is reproducible. | 10-30-2014 |
20140372987 | Processor That Records Tracing Data In Non Contiguous System Memory Slices - A method is described that involves referring to first information from a directory table in system memory. The first information includes location information and size information of a first slice of system memory where first tracing data is to be stored. The method also includes tracking the amount of tracing data stored in the first slice of system memory and comparing the amount against the size information. The method also includes, before the first slice of system memory is filled, referring to second information from the directory table in system memory, where, the second information includes location information and size information of a second slice of system memory where second tracing data is to be stored. The first slice is not contiguous with the second slice of system memory. | 12-18-2014 |
20140380282 | MONITORING MOBILE APPLICATION PERFORMANCE - Aspects of the subject disclosure are directed towards monitoring application performance during actual use, particularly mobile application performance. Described is instrumenting mobile application binaries to automatically identify a critical path in user transactions, including across asynchronous-call boundaries. Trace data is logged by the instrumented application to capture UI manipulations, thread execution, asynchronous calls and callbacks, UI updates and/or thread synchronization. The trace data is analyzed to assist developers in improving application performance. | 12-25-2014 |
20150026666 | ANALYSIS SYSTEM, ANALYSIS METHOD, AND COMPUTER PROGRAM PRODUCT - According to an embodiment, a system includes an analysis generator, a trace difference generator, a program difference generator, and an analyzer. The analysis generator is configured to generate program information required in executing a program, generate trace information providing a description of an execution at particular timing, based on the program information, and generate a trace correspondence between the trace and program information. The trace difference generator is configured to generate a trace difference between first and second trace information. The program difference generator is configured to generate a program difference between first and second program information. The analyzer is configured to analyze a correspondence relation between the differences and the program information based on the trace correspondence. | 01-22-2015 |
20150033209 | Dynamic Cluster Wide Subsystem Engagement Using a Tracing Schema - A method of invoking an action in response to encountering a tracepoint of an executing application including: encountering a tracepoint of an executing application at a processor of a computer node; receiving tracepoint data at a tracepoint interpretation utility, wherein the tracepoint data includes metadata that describes the state of the processor; analyzing the metadata associated with the tracepoint data to determine whether the metadata further includes action data that describe whether further action should be taken, wherein the action data describes an action other than buffering the tracepoint data; and when it is determined that the metadata includes action data, invoking one or more actions associated with the action data. | 01-29-2015 |
20150058825 | STACK TRACE COMPRESSION - Exemplary methods, apparatuses, and systems generate a plurality of possible stack traces for a computer program. Each possible stack trace represents functions that may be active while the computer program is running. Each function has a corresponding function identifier. A value for at least one of the plurality of possible stack traces is generated. Generating the value for each stack trace includes performing a series of one or more mathematical or logical operations between the function identifiers of the possible stack trace. A stack trace is generated as an output based upon a match between a run-time stack trace value and the at least one generated stack trace value. | 02-26-2015 |
20150058826 | SYSTEMS AND METHODS FOR EFFICIENTLY AND EFFECTIVELY DETECTING MOBILE APP BUGS - The disclosed subject matter provides techniques for detecting and diagnosing mobile app bugs. An approximate execution mode screens for potential bugs, which can expose bugs but can generate false positives. From the generated bug reports, certain bugs can be automatically validated and false positives pruned, reducing the need for manual inspection. | 02-26-2015 |
20150067654 | Tracing System for Application and Module Tracing - A tracing system may trace applications and their modules, and may make module-specific data available through various interfaces. The tracing system may collect tracer data while an application executes, and may preprocess the data into application-specific and module-specific databases. An analysis engine may further analyze and process these databases to create application-specific views and module-specific views into the data. The application-specific views may be intended for a developer of the application, while the module-specific views may have a public version accessible to everybody and a module developer version that may contain additional details that may be useful to the module developer. | 03-05-2015 |
20150082284 | Method and system for generating a memory trace of a program code executable on a programmable target - A method of generating an instrumented code from a program code executable on a programmable target is described. The method comprises analysing the program code to detect a loop nest with regular memory access in the program code, providing a record of static memory address information associated with the loop nest, and instrumenting the program code to provide an instrumented code corresponding to the program code supplemented with an instrumentation instruction to output an information message comprising a dynamic memory address information field formatted to store a dynamic memory address information associated with the loop nest. | 03-19-2015 |
20150082285 | RUNTIME SETTINGS DERIVED FROM RELATIONSHIPS IDENTIFIED IN TRACER DATA - An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance. | 03-19-2015 |
20150089482 | Automated Identification of Redundant Method Calls - Embodiments of the invention may provide for collecting specified data each time that a call to a given method occurs, wherein a given call to the given method is associated with a set of arguments comprising one or more particular argument values for the given method, and the collected data includes an element uniquely identifying each of the particular argument values. The process may further include storing the collected data at a selected location, and selecting a call threshold for the given method, wherein the call threshold comprises a specified number of occurrences of the given call to the given method, when the program is running The collected data may be selectively analyzed at the storage location, to determine whether an occurrence of the given call to the given method has exceeded the call threshold. | 03-26-2015 |
20150106792 | METHOD OF PRESENTING TRACE DATA WITH IMPROVED EFFICIENCY BY USING HOSTED FORMATTED OUTPUT COMMANDS - A system and method of debugging application software operating on a system-on-chip processor (SOC) with a system trace macrocell. | 04-16-2015 |
20150128110 | MOBILE APPLICATION DEVELOPMENT AND DEPLOYMENT - Methods and apparatus, including computer program products, for mobile application development and deployment. A method includes, in a server residing in a network, receiving an application description file from a design system communicatively linked to the server, the application description file capable of targeting multiple application platforms and representing a workflow of an application for user equipment communicatively linked to the server, generating from the received application description file an application envelope comprising at least a subset of the application description file, and sending the application envelope to a client application residing in the user equipment, the client application interpreting contents of the application envelope. | 05-07-2015 |
20150128111 | Devices and Methods for Acquiring Abnormal Information - Devices and methods are provided for acquiring abnormal information. For example, a test command line is generated using one or more data processors based on at least information associated with test demand information; the generated test command line is run using the data processors to send a test instruction to execute a test of a condition associated with the demand information; a test log is monitored using the data processors; keyword identification is performed using the data processors on the test log; and in response to one or more test abnormal keywords existing in the test log based on at least information associated with the keyword identification, abnormal information associated with the abnormal keywords is extracted using the data processors from the test log. | 05-07-2015 |
20150135167 | DYNAMIC PER-METHOD PROBING DURING RUNTIME - A system, method, and techniques for dynamically probing a method are provided. An example method includes identifying a target method to probe in an application. The method also includes modifying the target method to include a call to a helper method that passes a rulename to a native method in a shared object library. The native method includes a marker associated with a probe point inserted in the application at a location relative to the target method, and the rulename identifies the marker associated with the probe point. The method further includes during execution of the application on a computing device, detecting when the target method is invoked. The method also includes when the method is invoked, passing the rulename to the native method in the shared object library. | 05-14-2015 |
20150143343 | TRACE-DATA PROCESSING AND PROFILING DEVICE - A trace-data processing device comprises an input to receive source-specific trace data streams comprising trace messages carrying execution-flow information on a program execution flow performed by a source device under test or under observation, hereinafter DUT. A trace-data processing unit ( | 05-21-2015 |
20150149984 | DETERMINING INSTRUCTION EXECUTION HISTORY IN A DEBUGGER - Determining instruction execution history in a debugger, including: retrieving, from an instruction cache, cache data that includes an age value for each cache line in the instruction cache; sorting, by the age value for each cache line, entries in the instruction cache; retrieving, using an address contained in each cache line, one or more instructions associated with the address contained in each cache line; and displaying the one or more instructions. | 05-28-2015 |
20150309915 | CALL CHAIN INTERVAL RESOURCE IMPACT AGGREGATION DIFFERENCING - Embodiments profile usage of memory and other resource. Stack traces have lifespans, resource impacts, and constituent call chains. Aggregation unifies shared call chains and sums resource impacts after assigning traces to snapshot sets based on trace lifespans and user-defined snapshot request timestamps. | 10-29-2015 |
20150317244 | TRACKING OF CODE BASE AND DEFECT DIAGNOSTIC COUPLING WITH AUTOMATED TRIAGE - In response to a test case error generated by execution of a test case against a code build, a source code segment that caused the test case error is identified by a defect monitor. The identified source code segment is linked to the test case that generated the test case error. The linked source code segment is monitored for code changes. A determination is made as to whether a test case re-execution criterion associated with the test case has been satisfied based upon a detected code change of the linked source code segment. An indication to re-execute the test case is generated in response to determining that the test case re-execution criterion associated with the test case has been satisfied. | 11-05-2015 |
20150347271 | QUEUE DEBUGGING USING STORED BACKTRACE INFORMATION - When queuing work items for asynchronous execution, the approaches set forth herein enable a debugger to provide more meaningful and complete stack trace information for enqueued work items. An example system identifies a work item to be enqueued for asynchronous execution as a separate thread during runtime of a program. Upon enqueuing the work item in an execution queue, the system captures pre-queue stack trace information associated with the work item, and associates the pre-queue stack trace information with the work item. The system removes the work item from the execution queue for execution, wherein the execution is associated with current stack trace information separate from the pre-queue stack trace information. Upon detecting an event associated with executing the work item, the system merges the pre-queue stack trace information with the current stack trace information to yield a merged stack trace. | 12-03-2015 |
20150347272 | NATIVE JAVA BACKTRACING FROM THE C/C++ RUNTIME - A system and method are disclosed for runtime probing of software. In accordance with one embodiment, a target method of a software application is modified to include a call to a first helper method and a call to a second helper method that occurs after the call to the first helper method. The first helper method collects runtime information, and at least one of the first helper method or the second helper method passes data comprising the runtime information to a native method that provides the data to a software tool (e.g., a performance monitoring tool, a debugger, etc.). The modified target method is then executed within a virtual machine | 12-03-2015 |
20150347273 | Deploying Trace Objectives Using Cost Analyses - A tracing management system may use cost analyses and performance budgets to dispatch tracing objectives to instrumented systems that may collect trace data while running an application. The tracing management system may analyze individual tracing workloads for processing, storage, and network performance costs, and select workloads to deploy based on a resource budget that may be set for a particular device. In some cases, complementary tracing objectives may be selected that maximize consumption of resources within an allocated budget. The budgets may allocate certain resources for tracing, which may be a mechanism to limit any adverse effects from tracing when running an application. | 12-03-2015 |
20150347277 | Real Time Analysis of Tracer Summaries to Change Tracer Behavior - Real time analysis of tracing data may identify functions for which tracing may be enhanced or reduced. A tracer that generates function-level data may have an aggregator that summarizes the data. Potential changes to tracing configuration may be identified by analyzing the summarized data to determine whether or not each function is being traced at a level commensurate with that function's impact to the summarized data. Those functions with little significant contribution may have their tracing reduced, while those functions with more significant contribution may have their tracing enhanced. The analysis of the summarized data may be performed in real time in some instances, causing a tracer to change the data collected while an application executes. | 12-03-2015 |
20150347283 | Multiple Tracer Configurations Applied on a Function-by-Function Level - A tracing system may use different configurations for tracing various functions in different manners. A configuration may be a group of settings that may define which data elements to collect, as well as the manner in which the data may be summarized, stored, and in some cases, displayed. Example configurations may include debugging configuration, performance optimization configuration, long term monitoring configuration, and others. The tracing system may be able to trace one group of functions with one configuration, while tracing another group of functions in the same application using a different configuration. | 12-03-2015 |
20150355996 | SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR COLLECTING EXECUTION STATISTICS FOR GRAPHICS PROCESSING UNIT WORKLOADS - A system, method, and computer program product are provided for collecting trace information based on a computational workload. The method includes the steps of compiling source code to generate a program, launching a workload to be executed by the parallel processing unit, collecting one or more records of trace information associated with a plurality of threads configured to execute the program, and correlating the one or more records to one or more corresponding instructions included in the source code. Each record in the one or more records includes at least a value of a program counter and a scheduler state of the thread. | 12-10-2015 |
20150370693 | Methods and Systems of Distributed Tracing - A system and methods are provided for distributed tracing in a distributed application. In one embodiment, a method includes observing a plurality of messages sent and received among components of the distributed application, generating a probabilistic model of a call flow from observed messages of the distributed system, and constructing a call flow graph based on the probabilistic model for the distributed application. Distributed tracing may include observing messages by performing the subscription-based observation techniques and operations to receive, message traces describing messages being communicated among components of the distributed application. In this regard, the tracing service may merge message traces from different instrumentation points with message traces obtained by observing message queues to generate a probabilistic model and call flow graph. A distributed application developer or other relevant user may benefit in efficiently and effectively tracking down a cause of an abnormal behavior or analyzing performance profiles. | 12-24-2015 |
20150378870 | TIME TRAVEL DEBUGGING IN MANAGED RUNTIME - Various technologies described herein pertain to time travel debugging in a managed runtime system. The managed runtime system can include an execution component that executes a managed program component. Moreover, the managed runtime system can include a time travel debugger component. The time travel debugger component can be configured to record a sequence of live-object snapshots of program states during execution of the managed program component. A live-object snapshot can include live objects from a heap in memory at a given time during the execution. Moreover, the time travel debugger component can be configured to replay at least a portion of the execution of the managed program component based upon the live-object snapshots. | 12-31-2015 |
20160011955 | Extracting Rich Performance Analysis from Simple Time Measurements | 01-14-2016 |
20160019133 | METHOD FOR TRACING A COMPUTER SOFTWARE - A system and method for determining execution trace differences in a computer-implemented software application is provided herein. A software application under analysis is executed at least twice, thereby generating first and second execution trace and associated first and second sets of execution data describing all the necessary data gained by program instrumentation at each program statement of source or bytecode level. These data are stored for at least two executions of the software application. This data is then compared to determine a set of differences between the first and second executions of the program. The set of differences may contain statement coverage data, execution trace data, variable values or influences among program instructions. The differences can be arranged according into historical order. The differences then can be analyzed to identify the location of the fault in the program or to map the related code to a feature in unknown code. | 01-21-2016 |
20160026556 | CALL CHAIN INTERVAL RESOURCE IMPACT UNIFICATION - Embodiments profile usage of memory and other resource. Stack traces have lifespans, resource impacts, and constituent call chains. Aggregation unifies shared call chains and sums resource impacts after assigning traces to snapshot sets based on trace lifespans and user-defined snapshot request timestamps. Traces are assigned using either active aggregation or precursor aggregation. Traces spanning a snapshot request may be split. A sampled resource trace lifespan begins when the resource is sampled and ends at the next snapshot request. An allocated resource trace lifespan begins when a portion of the resource is allocated and ends when the allocated portion is freed. Resource portions not yet freed are implicitly freed when program execution ends. Call chain interval resource impact aggregation performed with multiple snapshot requests and stack trace sets creates snapshot aggregations. Two aggregations are differenced by subtracting the summed call chain resource impacts of one aggregation from those of another aggregation. | 01-28-2016 |
20160048441 | LOCALIZED REPRESENTATION OF STACK TRACES - Systems and methods are disclosed for providing a representation of a stack trace. An example method includes identifying an element in a stack trace. The stack trace is generated based on an occurrence of an event during execution of an application. The method also includes determining whether the element has an associated annotation. The annotation is an indication to translate the element's name from a first language to a second language. The method further includes in response to determining that the element in the stack trace has the associated annotation, obtaining the element's translated name and updating the stack trace to include the element's translated name, which is in the second language. | 02-18-2016 |
20160048446 | FLOW TRACING OF SOFTWARE CALLS - In various embodiments, a system, method, and a computer-readable medium for performing operations for tracking numerous software calls in an enterprise environment is provided. The method includes tracking, during a runtime operation of an enterprise environment, layers through which software calls pass. The tracking includes logging physical components involved in each of the software calls, annotating each of the physical components with metadata that is directly indicative of each of the physical components, and logging a reliance of each of the physical components on others of the physical components. Other systems and methods are disclosed. | 02-18-2016 |
20160062872 | PATTERN ORIENTED DATA COLLECTION AND ANALYSIS - A process for determining a problematic condition while running software includes: loading a first pattern data set having a symptom code module, a problematic condition determination module, and a set of responsive action module(s), generating a runtime symptom code in response to a first problematic condition being caused by the running of the software on the computer, determining that the runtime symptom code matches a symptom code corresponding to the first pattern data set, determining that the first problematic condition caused the generation of the runtime symptom code, and taking a responsive action from a set of responsive action(s) that corresponds to the first problematic condition. | 03-03-2016 |
20160070639 | METHODS AND SYSTEMS FOR DEBUGGING BYTECODE IN AN ON-DEMAND SERVICE ENVIRONMENT - Described herein are means for debugging byte code in an on-demand service environment system including a system for simulating execution debug in a multi-tenant database environment. Such means may include: receiving a request at a web-server of the system, determining one or more trace preferences are active for the request, sending the request to a logging framework communicatively interfaced to the multi-tenant database implementation, processing the request via the logging framework, and capturing at least a portion of the execution data emitted responsive to execution of the plurality of events for use in simulating execution debug of the events. Other related embodiments are additionally described. | 03-10-2016 |
20160077951 | PERIODICITY OPTIMIZATION IN AN AUTOMATED TRACING SYSTEM - Periodicity similarity between two different tracer objectives may be used to identify additional input parameters to sample. The tracer objectives may be individual portions of a large tracer operation, and each of the tracer objectives may have separate set of input objects for which data may be collected. After collecting data for a tracer objective, other tracer objectives with similar periodicities may be identified. The input objects from the other tracer objectives may be added to a tracer objective and the tracer objective may be executed to determine a statistical significance of the newly added objective. An iterative process may traverse multiple input objects until exhausting possible input objects and a statistically significant set of input objects are identified. | 03-17-2016 |
20160117236 | INFORMATION PROCESSING APPARATUS, METHOD FOR CONTROLLING THE SAME, AND NON-TRANSITORY COMPUTER-READABLE MEDIUM - An information processing apparatus comprises: an insertion unit that inserts, into a class file that corresponds to one application, a first bytecode for tallying information about a resource used by an object generated by execution of a bytecode that is included in the class file; and a tallying unit that, if an application generates an object, tallies information about a resource used by the object generated by the application, wherein the one application that has executed the first bytecode is identified by execution of the first bytecode, the one application thus identified and information about a resource used by a generated object are registered to a storage unit in association with each other, and the tallying unit tallies a resource usage amount for each application based on the information registered to the storage unit. | 04-28-2016 |
20160140019 | EVENT SUMMARY MODE FOR TRACING SYSTEMS - Reducing resource requirements in an instrumented process tracing system, a process having a top instrumented process and a nested hierarchy of instrumented sub-processes. A computer receives a plurality of instrumented process data from the top process and the sub-processes, each datum including a process identifier, a process type, a top process identifier, and a process completion elapsed time. Based on the computer determining that the process identifier and the top process identifier in the datum received are equivalent: if the process completion elapsed time in the datum received is determined to be less than a threshold value, the computer writes a summary of the plurality of instrumented process data to a data store, and if the process completion elapsed time in the datum received is determined to not be less than the threshold value, the computer writes the plurality of instrumented process data to the data store. | 05-19-2016 |
20160140025 | METHOD AND APPARATUS FOR PRODUCING A BENCHMARK APPLICATION FOR PERFORMANCE TESTING - A method of producing a benchmark application for testing input/output—I/O—settings of a computer application, the method comprising: compiling trace data relating to operations to be executed by the computer application; grouping the trace data into one or more phases, based on different stages in the execution of the computer application to which the operations relate; identifying patterns in the trace data and comparing the patterns; producing simplified trace data in which trace data having similar patterns are combined; and outputting a benchmark application which includes the simplified trace data and information indicating where the trace data have been combined. | 05-19-2016 |
20160140029 | EFFICIENT METHOD DATA RECORDING - According to one general aspect, a method may include monitoring the execution of at least a portion of a software application. The method may also include collecting subroutine call information regarding a plurality of subroutine calls included by the portion of the software application, wherein one or more of the subroutine calls is selected for detailed data recording. The method may further include pruning, as the software application is being executed, a subroutine call tree to include only the subroutine calls selected for detailed data recording and one or more parent subroutine calls of each subroutine calls selected for detailed data recording. | 05-19-2016 |
20160140031 | METHODS AND SYSTEMS FOR AUTOMATED TAGGING BASED ON SOFTWARE EXECUTION TRACES - Systems and methods for analysis of execution patterns for applications executing on remote devices. In some implementations of the system, a knowledge base stores successful traces from a plurality of instances of an application and one or more computing processors in the system receive, via a network interface, call-stack information from an instance of the application executing on a remote device, call-stack information including periodic captures of an execution status for the instance of the application, and determine whether there is a similarity between the call-stack information received from the instance of the application and the stored plurality of successful traces. Responsive to determining a similarity, the computing processors add the remote device to a population of devices likely to execute the object and facilitate further actions specific to the device population. | 05-19-2016 |
20160154726 | VARIABLE TRACKING IN PROGRAM DEBUGGING | 06-02-2016 |
20160188448 | DISCOVERY OF APPLICATION STATES - Some aspects of the disclosure provide a method comprising obtaining machine executable code of an application, the application operable to achieve a set of application states, pre-processing the machine executable code to generate reviewable code, identifying, from the reviewable code, a set of state access instructions configured to invoke or assist in invoking one of the set of application states of the application, the set of state access instructions indicating a first state access instruction configured to invoke a first state of the set of application states and a second state access instruction configured to invoke a second state of the set of application states that is different from the first state, each of the set of state access instructions including an application resource identifier referencing an application and indicating an operation for the application to perform, and storing the set of state access instructions. | 06-30-2016 |
20160203072 | COMPARATIVE PROGRAM EXECUTION THROUGH CONTROL OF TWO OR MORE DEBUG SESSIONS TO AUTOMATICALLY DETERMINE EXECUTION DIFFERENCES | 07-14-2016 |
20160203073 | INSTRUCTION STREAM TRACING OF MULTI-THREADED PROCESSORS | 07-14-2016 |
20180024910 | EFFICIENT METHOD DATA RECORDING | 01-25-2018 |
20190146893 | SIMULATION DEVICE, SIMULATION SYSTEM, SIMULATION METHOD, AND SIMULATION PROGRAM | 05-16-2019 |
20220138084 | Recording a trace of code execution using reference bits in a processor cache - Recording a trace of code execution using reference bits in a processor cache. A computing device comprises processing units and a shared cache. The shared cache includes a plurality of cache lines that is each associated with a plurality of accounting bits, which each includes a reference bits portion. Stored control logic uses these reference bits to log a second read operation by a second processing unit in reference to an already logged first read operation by a first processing unit. | 05-05-2022 |