US5450586A - System for analyzing and debugging embedded software through dynamic and interactive use of code markers - Google Patents
System for analyzing and debugging embedded software through dynamic and interactive use of code markers Download PDFInfo
- Publication number
- US5450586A US5450586A US07/876,346 US87634692A US5450586A US 5450586 A US5450586 A US 5450586A US 87634692 A US87634692 A US 87634692A US 5450586 A US5450586 A US 5450586A
- Authority
- US
- United States
- Prior art keywords
- code
- software
- markers
- marker
- code markers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Definitions
- the present invention relates to a system for analyzing and debugging software through dynamic and interactive use of code markers, and more particularly, to a system and method of using code markers to analyze and debug complex host computer and embedded "black box" type software systems including microprocessor based real-time operating systems, even those with on-board caches and queues, so as to eliminate most dependencies on particular processors and language systems.
- One of the primary tasks of the software engineer is to analyze his or her code to determine whether the code operates as desired so that if an error is found, a debugging process may be conducted.
- Traditional debugging methods include slow manual processes such as inserting print statements into the software at particular locations so that the values of variables and the like may be checked to determine if they have the expected values.
- print statements are difficult to use in embedded software systems because the target processor on which the software is to run must have a port for the printed statements to be communicated to the output.
- embedded systems are software/hardware systems dedicated to an application which requires consistent and timely control of, and response to, external events. Embedded systems may also involve presenting information about those events and allowing user interaction with the parameters controlling the application. It is thus desirable to develop a debugging system which can be used to debug software having application specific I/O.
- RTOS real-time operating systems
- each RTOS has a compatible debugger that intimately knows the inner workings of that particular RTOS.
- the debugger can display the current state of the RTOS resources such as the number of messages in each mailbox, which events are currently pending, or the current run status of each task at any point in time.
- debuggers can only display a snapshot of the RTOS at a given point in time and are not able to display the flow of operating system activity in a real-time manner as it changes over time.
- RTOSs are normally viewed as "black boxes" whose inner workings are hidden from the end user. This makes correlating the captured data to RTOS activity impossible.
- bus cycle level trace data captured is too great to allow any high level view of RTOS activity.
- a normal trace buffer can capture only enough bus cycle level data for one or two RTOS transactions, which does not provide the long term flow of RTOS activity desired.
- Conventional debuggers for RTOS thus have been of limited utility.
- logic analyzers have been used by software engineers to aid in debugging their code by providing low level views of microprocessor bus cycles and other logical blocks within the system.
- logic analyzers require intimate knowledge of the microprocessor on which the software is operating in order to allow the user to view the data.
- the data is generally not visible if the processor has an on board cache and is difficult to extract if the processor uses queuing or pipelining as in graphics systems, for example.
- logic analyzers are generally not geared for use by software engineers and, accordingly, are not particularly user friendly to software engineers.
- SAW Software Analysis Workbench
- TaskView® An example of a tool for use with SAW is a system entitled TaskView®, which uses the instrumented Verdix operating system written for the ADA language to write out data that an analyzer can capture and display later.
- TaskView® provides software engineers designing embedded systems using ADA the ability to analyze performance at the system state and task levels, to acquire a high-level trace of application tasks and kernel activities and to perform measurements with the instruction cache enabled.
- TaskView® purportedly creates a comprehensive run-time view of a multitasking embedded system from a single in-target measurement.
- TaskView® works in conjunction with SAW to create high-level trace files and tables of performance data for application tasks and various components of the multitasking run-time kernel. This allows the user to determine how the performance of an application program is related to that of an instrumented run-time kernel.
- TaskView® operates on a special, instrumented version of the Verdix operating system which must be purchased from the operating system vendor.
- the Verdix operating system includes measurement information which is provided by the vendor by inserting memory write instructions, known as instrumentation points, at certain locations in the operating system code and then writing these instrumentation points to the same predefined memory locations so that SAW may acquire the instrumentation output by monitoring the microprocessor address and data buses.
- TaskView® thus uses SAW to track the execution of embedded software and then post-processes the acquired data to extract performance and trace information. As a result, timing measurements may be made even in systems with instruction prefetch and instruction caching.
- the instrumented code also enables dynamic run-time information to be gathered which includes the size and location of memory allocation, exception source location and discovered handler, task identification and system call type.
- TaskView® To use TaskView®, the user must link his or her compiled application with the instrumented version of the run-time kernel. SAW must then be set up with a run-time event file for monitoring the instrumentation points. SAW then acquires the run-time data, and the file created by this measurement contains information on all entries to and exits from the kernel and the application tasks. TaskView® then takes this acquisition file and annotates it with symbolic information about the interrupt handlers and application tasks and produces a performance analysis and high-level trace views.
- TaskView® has been limited because it works only on Verdix ADA development systems, displays only certain parameters which are passed into the operating system kernel through a service call, and requires the user to buy a special, instrumented version of the Verdix operating system which has been preinstrumented by the vendor.
- a more flexible system is desired which enables the user to analyze and debug code as desired, even when the source code is unavailable and unknown to the user, for operating systems written in any computer language including assembly language. It is also desired to develop a system which may display any parameters desired by the user, including all parameters that are passed into the operating system kernel through a service call.
- the prior art does not provide adequate general purpose means for analyzing and debugging complex host computer and embedded microprocessor based real-time operating systems and for cutting through the ambiguities of microprocessor prefetch and cache operations.
- no prior art system is adequately designed to benefit software design teams developing large and complex embedded applications in any computer language which makes use of a multitasking operating system and/or object oriented systems with real-time requirements.
- the present invention has been designed to meet these needs.
- the present invention meets the above-mentioned needs in the prior art by removing most microprocessor dependencies and making information visible even in microprocessors with caches and queues.
- the resulting method can be used across different language systems and for host or embedded real-time operating systems environments without significantly intruding into the user's software.
- the present invention also provides a faster turnaround time for the software engineer's debug cycle by automating a previously quite tedious process. This is accomplished using software code markers as a low intrusion method of communicating data of interest for debugging.
- Such code markers are typically inserted by the user at compile time or interactively during the debug session to make visible critical points in code execution such as function calls, task creation, semaphore operations and other resource usage so as to speed isolation of problems at test points during debugging of the user's software. Accordingly, unlike the aforementioned TaskView® system, the user is not limited to the code markers provided by the operating system vendor. As will be described herein, code markers inserted in accordance with the invention allow measurements including event tracing, software performance and system profiling to be conducted and presented to the software engineer as a system view at the desired level of abstraction.
- a code marker is an observable indication (external to the microprocessor) of the occurrence of an event in the execution of the software into which the marker is inserted.
- a code marker is the smallest standard microprocessor transaction required to communicate desired information to a chosen collection tool, thereby minimizing intrusion into the underlying software.
- higher level events and/or processors which contain instruction caches limit the intrinsic observability of these events.
- additional instructions may be added to the software to produce simple, encoded, memory references to otherwise unused memory or I/O locations that will always be visible to a logic analyzer as bus cycles.
- Code markers thus cause some intrusion into the underlying software in time and space and also use a small portion of the microprocessor's address space, but such code markers make tracing events by a conventional logic analyzer much simpler.
- the encoded information in each code marker also may be post-processed to recover the nature of the event.
- Inserted markers provide a method of dynamically extracting information which would be expensive and difficult to obtain directly from a running system under test.
- Use of code markers also makes the state and operation of the system externally observable at low cost and with minimal intrusion.
- Possible implementations of such code markers include a simple address access when fixed on non-prefetch machines, encoded I/O write on procedure entry and exit, low intrusion print statements, task table dumps, encoded process I/O for task switching and exception event occurrences.
- Low intrusion print statements are used in a preferred embodiment described herein. Such print statements are extensions of the code marker concept to include the run time dump of data. The low intrusion print statement is thus very similar to a conventional print statement, except that no formatting is done by the target processor.
- the code marker ID with the binary data for the print statement is block transferred to the host computer for post processing. This dramatically reduces the overhead of a print statement, especially when the data is collected by a high level logic analyzer. Low intrusion print statements are also advantageous in that no special tools are necessary to implement them other than libraries.
- a preferred embodiment of the present invention is characterized by three features which make it particularly useful for analyzing and debugging embedded software systems such as embedded real-time operating systems (RTOS).
- the first aspect of the present invention comprises means for inserting code markers directly into the embedded system under investigation at compile time or indirectly by inserting the code markers into the interface library of the RTOS service calls.
- the RTOS service call library is the interface layer between the user's application code and the operating system "black box". By calling the RTOS service call library when calling the RTOS, these code markers may be inserted without the user knowing the inner workings of the operating system.
- the information is then written out to a specific, contiguous marker data area, and the written information identifies not only which RTOS service call was called but also the input parameters, the output parameters and the return values to/from the RTOS.
- the second aspect of the present invention involves the collection of the marker data using, for example, a conventional hardware analyzer.
- the hardware marker analyzer which captures the RTOS marker data in accordance with the invention is preferably a traditional emulation trace analyzer or logic analyzer with at least one address range qualifier, and when used to capture the RTOS marker data, the storing of trace states is qualified by setting the address range qualifier to capture only data written to the specified RTOS marker data area. This reduces the amount of trace information captured to only those states which indicate a change in RTOS activity, thereby minimizing the amount of bus cycle level trace data captured. In this manner, a long term trace of only RTOS activity can be captured by the hardware analyzer.
- the third aspect of the invention involves decoding the captured marker data and displaying it in the native form of the operating system service call. Further decoding makes it possible to display some of the parameters and return values in the same mnemonics used by the RTOS vendor to describe the RTOS. This type of display makes it very easy for a software engineer to follow the RTOS activity resulting from execution of the application code.
- FIG. 1 illustrates in broad functional blocks the basic elements of the invention.
- FIG. 2 illustrates a method of operation of the invention for analyzing and debugging software running on a host system, including the steps of generating the software, executing the software and analyzing the software in accordance with the techniques of the invention.
- FIG. 3 illustrates a software code instrumentation technique illustrating reverse engineering of the software functions at the machine level.
- FIG. 4 illustrates another possible method of software code instrumentation using dynamic linking of the software functions at a high level.
- FIG. 5 illustrates a software method of marker collection in accordance with the techniques of the invention.
- FIG. 6 illustrates a hardware method of marker collection in accordance with the techniques of the invention.
- FIG. 7 illustrates the insertion of code marker "dead space" for each function of the software system.
- FIG. 8 illustrates an example of code marker instrumentation to print writes to variable "a" for the hardware and software marker collection techniques described with respect to FIGS. 5 and 6.
- FIG. 9 is a conceptual illustration of an adaptation of the present invention for analyzing and debugging the interaction between the user code and a real-time operating system kernel.
- FIG. 10 illustrates a system for capturing code markers passed between the user's code and the real-time operating system kernel in accordance with the techniques of the invention.
- FIG. 11 illustrates a method of operation of the invention for analyzing and debugging a real-time operating system, including the steps of setting up the code marker system, generating the software, executing the software and analyzing the software in accordance with the techniques of the invention.
- FIGS. 1-11 relate to analyzing and debugging software running on a host system and FIGS. 9-11 relate to analyzing and debugging a real-time system using the techniques of the invention.
- FIGS. 1-8 relate to analyzing and debugging software running on a host system
- FIGS. 9-11 relate to analyzing and debugging a real-time system using the techniques of the invention.
- a library of software source generators (signal generators) is needed to stimulate the software unit under test in a repeatable manner. Such signal generators may take the place of other units that are not yet written or not yet verified so that software simulation may be used to model hardware systems which are not yet built.
- software output receivers or analyzers are needed. Analyzers are models linked to the software unit under test in a simulation environment which can be replaced with hardware analyzers for repeating the test in the target system. A system incorporating these and other elements is shown by way of example in FIG. 1.
- a host workstation 102 in which software is being developed is accessed by the software engineer through user interface 104.
- information is preferably displayed on display device 106.
- a marker database 108 and marker analyzer 110 are also provided for marking the software to be debugged with code markers for purposes of verifying time-based specifications and design margins of the software as well as performing simple, trustworthy, performance measurements.
- the code markers are written into otherwise unused I/O space in the microprocessor, thereby allowing execution to leave the microprocessor to thereby minimize intrusion in the software in both time and space.
- Code markers may also preferably be used to measure time domain activity such as task switching, function calls, and other software event and state changes. A first method of implementing such code markers will now be described with respect to FIGS. 2-8.
- the technique of the invention comprises three basic steps: generating software, executing the software, and analyzing the software.
- the software is generated beginning at step 202 by designing and generating source code modules from Computer Aided Software Engineering (CASE) tools of the software engineer.
- CASE Computer Aided Software Engineering
- a code marker instrumentation placeholding utility is run on the code at step 204 for inserting empty space into the code following each function of the code (see FIG. 7).
- the default size for the amount of space reserved may be determined by the size of the function, the number of parameters, the local variables of the code function and the like.
- the software engineer can choose options to increase this size if he or she wishes to have increased debugging capability or to eliminate it altogether. More details regarding this aspect of the invention will be given below with respect to FIGS. 3 and 4.
- the code with the inserted spaces is then compiled at step 206.
- the software engineer may then link the code at step 208 and include one or more libraries that contain the marker data structures, thereby defining where the marker buffer resides in system memory at step 210.
- This marker buffer is preferably up to 128 bytes but can be reduced in size by only linking in the library for the particular debug measurements the software engineer wishes to perform.
- the software generated as just described is then preferably loaded into the execution environment on the host processing system and run at step 212.
- the software engineer will then interpret execution results to determine if debugging is necessary. This step is separate from the analysis phase if the software engineer has some inherent way of determining proper functionality of his or her system.
- the software engineer may take the compiled code and go straight to the software analysis phase.
- the software engineer Upon entering the software analysis phase, the software engineer has decided that his or her code is not performing properly.
- the software engineer thus enters the analyzer environment, opens a code/structure/operating system browser window (if windows are available) and locates the suspicious area or areas of code at step 214.
- the user may pull down a menu to select the type of analysis measurement at step 216.
- the type of analysis measurement may be "print variable" or "indicate exception event occurrence”.
- the software engineer may then highlight or click on the desired variable(s) in the browser window. As each variable is selected, it is preferably displayed in the active specification window on display device 106.
- the software engineer may then select the menu command "process" or some such similar command so that the code marked by the software engineer is read by a marker insertion utility of the type described below with respect to FIGS. 5 and 6.
- the marker database 108 may then be queried by the insertion utility for the next unused ID code and tell the system database to log the location and type of code marker at step 218.
- the code marker is then inserted into the code at step 220, and the process is repeated for each requested marker.
- the size of the instrumented code is then checked against the reserved size (from step 204), and the code is downloaded to the execution environment.
- the software engineer selects "execute” to start the analysis measurement and to rerun the marked code at step 222.
- the code markers are captured and time-stamped and passed back to the measurement software (step 224).
- the measurement software checks the code markers against the system database to determine location and type at step 226 and then displays the information as a trace list in the measurement results window as desired by the software engineer at step 228. As the software engineer scrolls through this trace list, the browser window may optionally track the corresponding source routines to show the code marker definition and placement.
- Other measurements may be similarly performed by selecting measurement type and identifying measurement events. For example, global measurements such as procedure flow can be defaulted to all or implemented by selecting specific procedures.
- the code markers may then be removed by simply reloading the modified code fragments from the original object.
- the code browsing tools described herein should have the same interface as the interface used for software code design and generation. Also, if a measurement is specified by pointing to some source or chart, preferably the software engineer does not have to open a different window to make changes.
- code marker techniques described herein may be used for many different measurements on the underlying software. For example, performance may be measured by determining the time spent in a particular code function, task or other module including or excluding the module's children. Code markers may also be used to count the module usage and event occurrence or to profile performance by indicating the relative and absolute times spent in each of a list of code modules of the software. Moreover, by using time stamps, code markers may be used to determine the elapsed time from event A to event B. Operating system interruptions such as process switches also may be included or excluded from such measurements.
- Event flow analysis may also be measured using code markers in accordance with the techniques of the invention.
- the code markers of the invention may be used for a time-stamped trace of low intrusion print statements with or without data and to provide a time-stamped trace list of variable accesses.
- the code markers may also be used for a time-stamped execution flow including module entry and exits, task switches and the like.
- Other parameter contents may also be monitored, such as break points and branch flow of the underlying software. Implementation of such measurements are believed to be well within the skill of those skilled in the art and thus will not be described in more detail herein.
- the code markers herein described preferably consist of 32 bits of data and 5 bits of type information. Examples of such marker types include procedure markers, low intrusion print statements, the data for low intrusion print statements, procedure data entry, events and event data, branches, operating system markers, operating system data or external user defined markers.
- the data contained in the marker data field will be dependent on the marker type. For example, for a code marker structure for the type "procedure", the code marker may comprise a bit to indicate whether the current code marker is an entry or exit code marker, 16 function bits representing the instrumented function, and 15 task bits which represent the instrumented task or object.
- code markers will require a 128 byte area in the user's address space. This will allow for 32 marker types, and the most significant 25 address bits may specify the code marker base address. The code marker thus can be written to this area using common move type processor instructions.
- the code markers can be written to a software collection area via a system call having the following form:
- code generated by the system engineer is instrumented such that it has spaces at the end of each function prior to compiling, thereby providing space for the insertion of code markers.
- code instrumentation in accordance with the techniques of the invention: reverse engineering of the functions at the machine level (FIG. 3) and dynamic linking of the functions at a high level (FIG. 4).
- FIG. 3 reverse engineering of the functions at the machine level
- FIG. 4 dynamic linking of the functions at a high level
- Each of these methods has advantages and drawbacks, and unfortunately, neither method is totally language or system independent.
- the ideal solution may be a combination of the two.
- both of these methods assume the existence of the aforementioned "dead area" following each function (as was inserted above in step 204). This "dead area” is inserted by a logic system design tool prior to the compile step as described above.
- the "dead area” may contain code or data or nops which are not referenced during the normal flow of the underlying program.
- FIG. 3 illustrates the reverse engineering code instrumentation technique at the machine level. This method relies on an expert knowledge of the processor instruction set.
- a logic system design tool may scan the function at the machine level to interpret the variable flow. The code marker may then be inserted at the required position, and all code following the code marker would be moved down. All "local” branches would be relinked on the fly. A database of inserted marker positions would then be generated so that the code markers could be removed very quickly. Also, if the "dead area" contains positions of the local variables, then no knowledge of the stack frame would be required.
- the software engineer may input a required action via user interface 104 to a relocating marker inserter/deleter 302.
- Relocating marker inserter/deleter 302 communicates with marker database 108 to extract code markers for insertion in the software at the locations specified by the software engineer.
- Symbolic data 304 such as IEEE 695 data may then be modified or updated to prevent the other logic system design tools from getting out of synchronization as described above.
- the relocating marker inserter/deleter 302 operates by receiving the software task base address from the operating system 306 and inserting the code markers at the appropriate location within the target task 308. The code markers which are captured and displayed during the software analysis then may be used by the software engineer for debugging the underlying system.
- Such a debugging method is advantageous in that no knowledge of the language system is required. It is potentially very fast, and all operations are done in the software engineer's program memory without reloading. However, such an approach requires a detailed knowledge of the microprocessor's instruction set since the program is almost a simulator. Also, such an approach makes it difficult to handle jump tables correctly without user interaction, and optimized code may be a problem. In any event, reverse engineering of the functions at the machine level may be accomplished as one preferred method of code instrumentation in accordance with the techniques of the invention.
- the dynamic function linking method illustrated in FIG. 4 makes use of the compiler to rebuild functions after the insertion of the code markers of the invention.
- the software engineer would indicate where the code marker is to be placed.
- a tool will then extract the function from the source code 402 and insert the marker at step 404 to obtain function 406.
- the software engineer will then call the compiler to compile the function at step 408 to produce an object file 410.
- Any external references of the function may then be resolved by a dynamic linker 412 which links in symbol references from a loaded symbol object file 414.
- the resulting overlay object file 416 may then be overlayed on top of the existing function in memory at step 418.
- the dynamic linking approach has several advantages. Namely, no intimate knowledge of the processor is required, the markers can be placed anywhere with no help from the software engineer, and it is less complex. However, the recompiling and reloading of the function may be slow. Also, such an approach is dependent on the object file format, which is troublesome since there is no established standard for object files. In any event, the dynamic linking of functions is a preferred method in accordance with the invention for rebuilding functions after the insertion of markers.
- Both of the code instrumentation techniques described above with respect to FIGS. 3 and 4 require a fairly complex piece of software.
- the reverse engineering tool requires a relocating marker inserter/deleter 302, while the dynamic relinker requires code to parse the object file, resolve external references and reload. Both tools also require a fairly involved user interface. Also, as known to those skilled in the art, both approaches require access to program memory, which infers some form of monitor or hardware access to user memory.
- a physical base address must be supplied as shown in FIGS. 3 and 4. This implies some type of link with the operating system 306.
- FIG. 5 illustrates a software method of marker collection (step 224) in accordance with the invention.
- marker collection is the technique of reading a stream of code markers (events), processing the code markers, acting on the code markers and transmitting the code markers to a dispatcher for subsequent display on the display device 106.
- the software marker collection method shown in FIG. 5 is implemented as a group of functions for code marker collection which requires no custom hardware and can be executed in software simulators. When executing in the software engineer's target system, it makes use of a communications port to the host computer.
- the software engineer writes the code for his or her software system.
- the source code is then run through a utility which pads the code with growth space between functions as described above with respect to FIG. 2.
- the code is then compiled and loaded, and once the code is running, the software engineer may browse his source code and select a measurement which causes the code instrumenter (FIGS. 3 and 4) to insert code markers in appropriate places for the measurement.
- the code markers are inserted in the form of a call to the host processor 502 having an embedded operating system 504 and an operating system routine called "TOOL" 506.
- the growth space between functions allows each function to grow as markers are inserted using TOOL 506.
- the marker collection process TOOL 506 collects, processes and transmits the code markers from the user programs to a marker buffer 508 for transfer to a transfer utility 510. Presentation software then takes over and displays the result of the measurement using the code markers.
- the software TOOL 506 that collects the code markers is generally responsible for at least four things. Namely, TOOL 506 gathers code markers and state information associated with the code markers as they are received from the software engineer's software system. The code markers are also time stamped if possible and then transmitted with their data to their host processor in an efficient manner. The code marker stream is also processed to make decisions to send status to the software engineer's software system if desired.
- code markers in the software engineer's code take the form of a call to TOOL with two parameters: (1) the address or type information and (2) the encoded data (see FIG. 8). These two parameters are necessary and sufficient for the transfer utility 510 to decode the code markers before they are sent to the display.
- the function TOOL 506 must take as little time from the software engineer's software system as possible, and is accordingly implemented as a nonpreemptable operating system service which time stamps and places each marker into the marker buffer 508 in accordance with techniques known to those skilled in the art.
- the marker buffer 508 is preferably a FIFO queue which stores the markers in raw form as they wait to be read by the transfer utility 510 for display.
- Transfer utility 510 takes code markers from marker buffer 508 and transmits them to the dispatcher for display.
- Transfer utility 510 is generally given a lower priority than the software engineer's software so that it runs in what would normally be idle machine cycles in the noninstrumented system.
- the transfer utility 510 can, however, be given a higher priority if the marker buffer 508 becomes full.
- TOOL 506 is preferably responsible for keeping the marker buffer 508 from overflowing. For example, if TOOL 506 finds the marker buffer 508 full when it tries to write a code marker, it preferably triggers the transfer utility 510 to transfer some code markers to the host processor for display, thereby further emptying marker buffer 508.
- FIG. 6 illustrates a hardware analyzer circuit for implementing a hardware method of marker collection in accordance with the techniques of the invention.
- the hardware analyzer for marker collection illustrated in FIG. 6 provides a solution with much lower intrusion than the software collection method described above. It also provides high performance, since instead of requiring a special function call to time-stamp and pass markers to a collection buffer in memory, the code markers are instrumented as writes to memory at defined addresses while the hardware captures and time-stamps the code markers in real time in a manner similar to a standard bus analyzer. This greatly reduces the execution speed intrusion and requires only the basic code marker place holding space in the software engineer's code and does not include the extra code marker processing code in the software engineer's software.
- the hardware analyzer also may include local processing to provide data reduction for many measurements. Such hardware collection is primarily aimed at the embedded execution environment where all or part of the target software is being executed in the target hardware and the added intrusion of the software collection methods may not be acceptable.
- the hardware code marker analyzer of FIG. 6 requires a preprocessor to connect into the software engineer's software target system at a point where the instrumented markers are visible. The most direct point would be through the processor pins of the target microprocessor, but it may also be available on a backplane or communications port.
- the analysis system must also have access to a channel where run control and high-performance memory access are provided in order to overlay the instrumented code fragments. This may be supplied by an emulator or simply a communications port to an onboard hardware monitor or the embedded operating system.
- the circuit of FIG. 6 takes data from the preprocessor/interface at an event reconstruct block 602, and the output of the circuit of FIG. 6 communicates collected and reduced data back to the host platform for further processing and presentation to the software engineer.
- the data stream is received at event reconstruct block 602 and may be in various byte/word/longword widths depending on the processor and the design of the particular target system.
- event reconstruct block 602 thus reformats the data field to a specific width such as 32 bits and simplifies the recognition and control hardware that is needed.
- Such a function may be provided by the preprocessor interface, and accordingly, event reconstruct block 602 is shown in phantom.
- Event recognition circuit 604 utilizes pattern recognition in order to isolate code markers from the rest of the data stream received at an input thereof as well as to identify types of code markers or specific code markers for control of various measurements.
- the upper address bits of the code marker space are defined and fixed, and if it is contiguous, it will be the same for all code markers, thereby reducing complexity.
- the lower address field and status field may also require recognition logic to identify a set number of events for measurement control. This part of the circuit must be fast enough to allow the fastest data write rate of the processor or software system being analyzed.
- Event counter/timer 606 is also provided for event counting and duration type measurements which require a set of counter/timers to start and stop on specific events. Event counter/timer 606 preferably also handles the time stamping function for standard event tracing. Preferably, measurement control state machines 608 are also provided to take inputs from the event recognition circuit 604 and the counter/timer logic circuit 606 to control event storage and other measurement dynamics. Measurement windowing and sequencing (as necessary) are handled by measurement control block 608. Signals of particular events may also be driven out for use by external hardware as desired.
- Event storage in accordance with the invention is accomplished through a block of FIFO memory in event memory 610 that takes code marker data and counter/timer information as input data under control of memory control 612 and is dynamically unloaded by a local processor 614 for data reduction.
- the lower address field, data field and timer data are also stored.
- hardware assisted decoding logic may also be added to assist in the decoding of the stored data, such as gray to binary count translation, so as to increase performance of data reduction prior to display.
- event memory 610 comprises a large FIFO buffer which stores a code marker if measurement control block 608 determines that the input code marker is to be stored.
- the FIFO buffer comprises two kilobytes of high speed FIFO to operate as a buffer and a deeper FIFO having at least 500 kilobytes connected to the smaller buffer.
- the output of the deep FIFO is then output to local processor 614 for data reduction in which certain code markers may be thrown out.
- the local processor subsystem comprising elements 614-622 preferably accomplishes configuration and control of the basic measurement hardware by dynamically monitoring measurements and unloading and processing/reducing data before transmitting the reduced data to the host workstation for display.
- local firmware 616 is connected to the local processor 614 over a processor bus and connected to local program/data RAM 618 and dual-port RAM 620 for communication through a port to the host workstation.
- a start and interrupt flag register 622 may also be provided so that communication to the host workstation may be managed through interrupts, flags and the dual-port RAM 620 in accordance with known techniques. Such a high-speed communication channel to the host is needed to maintain system performance due to the amount of measurement data being passed.
- the output of the dual-port RAM 620 and start and interrupt flag register 622 thus may be connected to a local area network which hooks into one or more workstations.
- FIG. 7 illustrates the technique of the invention whereby code marker dead space is inserted for each function within the software engineer's system and a code marker type definition area is provided.
- These marker types may include the types described above.
- FIG. 8 illustrates an example of code marker instrumentation to print writes to a variable "a" using the hardware and software code marker collection techniques of the invention.
- the simple user code in the leftmost column is modified for hardware collection to include low intrusion print statements which print the inserted code markers, their associated values, and other variable values such as, in this case, the variable "a".
- the aforementioned TOOL instruction is instead called and given the variables printmk 0 as type information and MK ID001 as encoded data. Values for the variable "a” may also be passed to subroutines as indicated.
- the user's software program is extended to include the print statements, but this poses no problem since the inserted dead space allows such expansion. If desired, this dead space may be removed once the debugging process has been completed.
- an alternative embodiment of the present invention includes an interface 904 between the operating system kernel 902 and the user code 900 for capturing the code markers with minimal intrusion upon the operation of the operating system kernel.
- this interface design is necessary only in those instances where the operating system kernel is a "black box" and hence cannot be directly debugged using the techniques described above.
- this may often be the case since operating system software is often provided to a user only as object code or the particulars of the operating system are otherwise unknown to the user.
- FIG. 10 illustrates the interface 904 of this embodiment of the invention in more detail.
- the interface 904 includes an interface library 1000 which writes out input parameters provided in an operating system service call from user code 900 to kernel 902 and writes out output parameters and return values from kernel 902 which are returned to the user code 900 after completion of the service call.
- the input and output parameters and the return value are written to an operating system marker table 1002 as illustrated.
- OS marker table 1002 is stored in a predetermined portion of the address space of the microprocessor of the system running the system of the invention, which in a preferred embodiment operates on a UNIX® workstation. This portion of the address space is monitored by a hardware analyzer 1004 and written to an analyzer memory 1006 for display on display 1008.
- hardware analyzer 1004 is an Emulation Bus Analyzer or a Software Performance Analyzer available from Hewlett-Packard Corporation. As will be described in more detail below, hardware analyzer 1004 decodes the captured code marker data and displays it in the native form of the operating system service call. Further decoding by the hardware analyzer 1004 also makes it possible to display some of the encoded parameters and return values in the same mnemonics used by the RTOS vendor to describe the RTOS. Those skilled in the art will also appreciate that the hardware analyzer 1004 may be any conventional hardware analyzer known to those skilled in the art.
- the majority of the functionality comes from the interface library 1000. Namely, during operation, the user code 900 calls into the interface library 1000, and the interface library 1000 writes out marker data representing the service call and input parameters and then calls into the desired operating system kernel 902 service call. When the service call is completed and returns from the kernel 902, the interface library 1000 again writes out code marker data for the output parameters and return values and then returns to the user code 900. In a preferred embodiment, this action is transparent to the software engineer.
- FIG. 10 may also include another piece of code which works in a slightly different manner than that just described.
- a task switch callout routine 1010 may be provided which is not called directly by the user code 900. Instead, a pointer to task switch callout routine 1010 is passed into the OS kernel 902 at system start-up.
- the OS kernel 902 calls the task switch callout routine 1010, which then writes out code marker data to the OS marker table 1002 indicating which task is being exited and which task is being entered. After writing to the OS marker table 1002, the task switch callout routine then just returns back to the OS kernel 902 to complete the task switch. Since this feature of the invention involves some intrusion into the operation of the operating system kernel 902, its use is optional.
- the task switch callout routine 1010 In order for the task switch callout routine 1010 to indicate which tasks are being exited and entered, and therefore which code marker data is written to the OS marker table 1002, the following steps are taken. First, two unique task identifiers are passed to routine 1010 from the OS kernel 902 at execution time. Next, these identifiers are used by the task switch callout routine 1010 in one of two methods. In some cases, the identifiers are written out directly as code marker data indicating which task is being entered and exited. In a preferred embodiment, the task switch callout routine 1010 uses those identifiers to locate the more human readable ASCII task names contained in the internal OS kernel 902 data area.
- Appendix A is an example of a task switch callout routine 1010 which performs this method by simply offsetting into the data area pointed to by the task identifier. Once located, these ASCII task names are then written out as the marker data showing which tasks are being entered and exited. This data is then decoded in the display 1008 to appear as easily readable ASCII task names.
- FIG. 11 illustrates the operation of the interface of FIGS. 9 and 10.
- the technique of this embodiment again comprises the three basic steps of generating the software, executing the software and analyzing the software as in FIG. 2.
- the technique of this embodiment of the invention may further comprise a setup step that the user may choose to do if he or she wants the full measurement capabilities of the invention.
- This setup step is not required but may be preferred in order to facilitate easy debugging and testing.
- the operating system marker system need only be set up once prior to run-time operation. To setup the OS marker system, the user simply edits the source files supplied with the invention for three things.
- the user enters the operating system's task names into the OS marker table 1002 for those operating system task names that are going to be used by the user code 900.
- the user may alter the OS marker table 1002 data location to place it somewhere other than the default location in the address space of the microprocessor. This allows the data area to be placed somewhere in the processor's address space that does not have actual memory components behind it since the marker data is captured by the hardware analyzer 1004 and it is not necessary for the marker data to be stored in host system memory. This allows the OS marker table 1002 to not take up any of the host system's memory.
- the user can then edit the marker interface library 1000 at step 1106 to eliminate some of the measurements that cause more intrusion on the user's systems than the basic measurement set if he or she desires. For example, the user may choose to enable or disable task switch routine 1010 in accordance with the performance requirements of the operating system kernel 902.
- the software is then generated beginning at step 1108 by designing and generating the desired user code 900 from computer aided software engineering (CASE) tools of the software engineer.
- CASE computer aided software engineering
- the user then compiles or assembles the user code 900 at step 1110 and then compiles or assembles at step 1112 the marker interface library 1000 and other assembly code source files he or she may have edited during the aforementioned setup step.
- All of the resulting code is then linked in with the operating system kernel 902 at step 1114 to form the final application binary module, thereby forming a code marker library for capturing the marker data structures in a manner similar to that described above with respect to FIG. 2.
- the software generated as just described is then loaded into the host processing system and executed in the execution environment on the host processing system at step 1116.
- the software engineer will then interpret execution results to determine if debugging is necessary. This step is separate from the analysis phase if the software engineer has some inherent way of determining proper functionality of his or her system.
- the software engineer may take the compiled code and go straight to the software analysis phase.
- the software engineer Upon entering the software analysis phase, the software engineer has decided that his or her code is not performing properly. The software engineer thus enters the analyzer environment by selecting at step 1118 what type of analysis measurement is desired. The system then sets up the hardware analyzer 1004 to capture the appropriate marker data by watching the corresponding addresses in the OS marker table 1002.
- the step of selecting the type of analysis measurement may include the steps of opening a code/structure/operating system browser window and locating the suspicious area or areas of code.
- the user may also pull down a menu to select the type of analysis measurement and then highlight or click on the desired variable(s) in the browser window. As each variable is selected, it is preferably displayed in the active specification window on display device 1008. The software engineer may then select "execute" to start the analysis measurement and to rerun the marked code at step 1120.
- the hardware analyzer 1004 captures any relevant code markers, time stamps them and passes them back to the measurement software at step 1122.
- the code markers are then decoded into the mnemonics of the operating system service call and the parameters and return values are displayed to the user as a trace list in a measurements results window at step 1124.
- the browser window may optionally track the corresponding source routines to allow the code marker definition and placement. The user can then go back, edit his or her source file to fix a defect, and begin the cycle again if necessary.
- Code browsing tools may also be used as described above with respect to FIG. 2.
- FIGS. 9-11 Further operation of the embodiment of FIGS. 9-11 is directly analogous to that described above with respect to FIGS. 2-8.
- Sample code for an embodiment of a system operating in accordance with the principles of FIGS. 9-11 will now be described with reference to Appendices B-D.
- Appendix B is an example of the q create service call interface routine written in assembly language for the pSOS+ operating system. Such a routine is provided for each service call to the operating system kernel 902 in accordance with the invention.
- the routine of Appendix B is part of the marker interface library 1000 which interfaces a real-time operating system (RTOS) kernel 902 to user code 900 written, for example, in the programming language "C" on a UNIX® workstation.
- Appendix B illustrates assembly language source code showing the code markers inserted into a specific real-time operating system service call by marker interface library 1000.
- the purpose of the code of Appendix B is to convert the parameter passing protocol from a given compiler into the parameter passing protocol expected by the specific operating system. This allows the assembly language based operating system to be accessed from a higher level coding language such as the "C" language illustrated in the example of Appendix B.
- Appendix C is a code segment of user code 900 which makes various RTOS service calls.
- the first function call in Appendix C is the q create() function with three input parameters and a fourth output parameter.
- This function, q create() is actually the "C" language interface for a pSOS+ operating system assembly language service call by the same name.
- the compiler When the compiler generates code for this function call it places the parameters on the system memory stack in a defined order then jumps to subroutine q create.
- the q create subroutine shown in Appendix B and thus residing in the marker interface library 1000, knows how to take these parameters from the memory stack and load them into specific registers of the processor.
- the code marker data is then written out to the address space of the processor in the portion of the address space housing the OS marker table 1002.
- registers D2 and D5 of the 68000 processor registers are loaded from these stack parameters.
- register DO is loaded with a value that indicates that a q create service call is being requested.
- the marker interface library 1000 would now call into the operating system kernel 902 where this particular request would be serviced by acting on the data contained in the registers. As illustrated in Appendix B, for pSOS+ this is accomplished with the "TRAP #SVCTRAP" instruction. In accordance with the invention, however, the user first writes out the data contained in the registers to the OS marker table 1002 as illustrated in Table 1 below, before the OS kernel 902 is called. Conversely, when execution returns from the OS kernel 902, the marker interface library 1000 again writes out the registers containing the output parameters and the return value to the OS marker table 1002.
- the above section is repeated once per operating system service call.
- the OS marker table 1002 is also preferably configured to contain some global sections used for overall measurements. The section below is used to measure the amount of time the operating system kernel 902 takes to execute the desired service call. All service call interface library 1000 routines write to this global section when they are entering and exiting their service call.
- This OS marker table 1002 may be simply a predefined memory range in the processor's address space as described above. Table 1 shows an example segment of the data area that the q create service call writes to along with the section of the OS marker table 1002 that is used for global service call measurements that all service call routines write to.
- the invention preferably uses a traditional hardware analyzer 1004 and does not need the specialized marker collection hardware described above with respect to FIG. 6.
- the same hardware illustrated in FIG. 6 may be used in this embodiment as desired.
- the hardware analyzer 1004 is simply set up to monitor a range of addresses corresponding to the OS marker table 1002 or a desired subset of the OS marker table 1002.
- the hardware analyzer 1004 stores the written data and its address into the marker data buffer which in the case of a traditional hardware analyzer 1004 as illustrated in FIG. 10 is simply the analyzer's memory 1006.
- Appendix D is an example display trace corresponding to the code segment of Appendix C as captured by a traditional emulation trace analyzer 1004 and decoded and displayed as native RTOS mnemonics. For example, in Appendix D the line that starts with "+32" shows that the q create service call was invoked.
- the other marker data captured for this specific invocation of the q create service call can be decoded into the input parameters for this service call and displayed as parameters:
- the invention further displays more than just the raw parameters it captures.
- the name of the parameters as documented in the operating system kernel 902 operating manual, has been included in the display.
- the invention can make the display even more understandable by further decoding the marker data into special known mnemonics.
- the "flags" parameter that is an input parameter to the q create service call actually has a finite set of acceptable values.
- the invention knows what this finite set is and thus decodes the data into the equivalent human readable form.
- the flag value was actually 1010 in binary form.
- Each of these bits controls a different setting for the q create service call depending on whether it is set to a one or a zero.
- the leftmost bit controls the "Export” field and, since it is a 1, that indicates a setting of "LOCAL”.
- the remaining bit fields are decoded accordingly.
- FIGS. 9-11 allows the invention to be used with real-time operating systems by providing an interface to the real-time operating system which performs the function of keeping track of the code markers and outputting a trace list corresponding to a finite number of states in memory.
- Such a system has been shown to minimally intrude upon the performance of the operating system kernel while providing very useful debugging information to the user.
- this arrangement is quite flexible and also allows the user to display any desired parameters that are passed into the operating system kernel through the service call.
- the system illustrated in FIG. 9-11 may work in any computer language or assembly based operating system without the user having to buy a special, instrumented version of the operating system from a vendor. The technique of this embodiment of the invention is thus believed to represent a significant improvement over the prior art.
- the insertion of the code markers at compile time or interactively during the debug session as herein described make visible critical points in code execution, such as function calls, task creation, semaphore operations and other resource usage. This speeds isolation of problems at test points and also allows performance analysis and event analysis without the ambiguities of microprocessor prefetch and cache operations as in the prior art. Also, by using low intrusion print statements which use code markers together with binary data transfer and a host database to move formatting out of the host system and into the debugger, it is possible to reduce the volume of data transfer required for each print. Also, when used in conjunction with a logic analyzer, the invention reduces the overhead of the debug I/O transfer to a few simple memory writes.
- time tagging may be automatically added with little overhead so that time critical software may be monitored by simply inserting markers at appropriate places in the code and then measuring the time between markers during running of the program. This information may then be presented to the software engineer at a high level of abstraction for purposes of taking appropriate action without detailed knowledge of the underlying processor.
- the present invention is believed to contribute to the art in the area of code marker insertion and collection by adding the ability to insert/remove code markers dynamically. Since the code markers may be inserted without recompiling the entire program, the speed of insertion/deletion is improved, and since the user interface is at a high level, the code markers may be easily inserted and deleted. Also, since the same code marker definitions are used for different code marker collection methods, the ease of switching between collection methods is facilitated. Moreover, the same method of code marker collection may be used across different language systems.
- code marker collection methods are broken down into two categories: software collection and hardware collection.
- hardware collection the present invention includes a hardware analyzer which has true dual-ported marker memory, high speed marker compare and a deep code marker memory.
- Onboard marker reduction processors may also be used to increase throughput of the system.
- Software collection allows a majority of measurements to be performed in a software assisted environment at a low cost. Software collection tasks are thus advantageous for on-site debugging/characterization of the software engineer's system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
TABLE 1 __________________________________________________________________________ Example Marker Table 1002 __________________________________________________________________________ HPOS.sub.-- Q.sub.-- CREATE.sub.--Entry DS.L 1 ;Area to captureparameter 1DS.L 1 ;Area to capture parameter 2DS.L 1 ;Area to capture parameter 3 HPOS.sub.-- Q.sub.-- CREATE.sub.--Exit DS.L 1 ;Area to capture outputparameter DS.L 1 ;Area to capture return value __________________________________________________________________________
______________________________________ Start.sub.-- OS.sub.--Ovrhd DS.L 1 ;Indicate start of service call Stop.sub.-- OS.sub.--Ovrhd DS.L 1 ;Indicate end of service call ______________________________________
Claims (16)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/876,346 US5450586A (en) | 1991-08-14 | 1992-04-30 | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
DE69330537T DE69330537T2 (en) | 1992-04-30 | 1993-01-19 | System for analysis and troubleshooting of integrated software through dynamic and interactive use of code markers |
EP93100740A EP0567722B1 (en) | 1992-04-30 | 1993-01-19 | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
JP5125058A JPH0689200A (en) | 1992-04-30 | 1993-04-28 | Debug system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/744,849 US5265254A (en) | 1991-08-14 | 1991-08-14 | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
US07/876,346 US5450586A (en) | 1991-08-14 | 1992-04-30 | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/744,849 Continuation-In-Part US5265254A (en) | 1991-08-14 | 1991-08-14 | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
Publications (1)
Publication Number | Publication Date |
---|---|
US5450586A true US5450586A (en) | 1995-09-12 |
Family
ID=25367497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/876,346 Expired - Fee Related US5450586A (en) | 1991-08-14 | 1992-04-30 | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
Country Status (4)
Country | Link |
---|---|
US (1) | US5450586A (en) |
EP (1) | EP0567722B1 (en) |
JP (1) | JPH0689200A (en) |
DE (1) | DE69330537T2 (en) |
Cited By (281)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5551037A (en) * | 1993-11-19 | 1996-08-27 | Lucent Technologies Inc. | Apparatus and methods for visualizing operation of a system of processes |
WO1996036918A1 (en) * | 1995-05-19 | 1996-11-21 | At & T Ipm Corp. | Method for monitoring a digital multiprocessor |
US5594904A (en) * | 1994-02-28 | 1997-01-14 | Telefonaktiebolaget L M Ericsson | Tracing with keys and locks |
US5603032A (en) * | 1993-02-10 | 1997-02-11 | Bull, S.A. | Method for administration of applications by standard protocols |
WO1997014096A1 (en) * | 1995-10-13 | 1997-04-17 | Sevone Software, Inc. | System and method for debugging computer software |
US5652899A (en) * | 1995-03-03 | 1997-07-29 | International Business Machines Corporation | Software understanding aid for generating and displaying simiplified code flow paths with respect to target code statements |
US5671417A (en) * | 1995-08-11 | 1997-09-23 | International Business Machines Corporation | Method and system for inserting floating code hooks into multiple versions of code |
US5682328A (en) * | 1996-09-11 | 1997-10-28 | Bbn Corporation | Centralized computer event data logging system |
US5687338A (en) * | 1994-03-01 | 1997-11-11 | Intel Corporation | Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor |
US5732210A (en) * | 1996-03-15 | 1998-03-24 | Hewlett-Packard Company | Use of dynamic translation to provide fast debug event checks |
US5748878A (en) * | 1995-09-11 | 1998-05-05 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US5754861A (en) * | 1995-08-16 | 1998-05-19 | Motorola, Inc. | Dynamic program input/output determination |
US5774724A (en) * | 1995-11-20 | 1998-06-30 | International Business Machines Coporation | System and method for acquiring high granularity performance data in a computer system |
US5778169A (en) * | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
US5781760A (en) * | 1995-11-16 | 1998-07-14 | Motorola, Inc. | Methods of simulating an electronic circuit design and forming an integrated circuit |
US5802291A (en) * | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US5809566A (en) * | 1996-08-14 | 1998-09-15 | International Business Machines Corporation | Automatic cache prefetch timing with dynamic trigger migration |
US5809450A (en) * | 1997-11-26 | 1998-09-15 | Digital Equipment Corporation | Method for estimating statistics of properties of instructions processed by a processor pipeline |
US5812133A (en) * | 1995-11-01 | 1998-09-22 | Allen Bradley Company, Llc | Industrial controller with display of rung execution |
US5860008A (en) * | 1996-02-02 | 1999-01-12 | Apple Computer, Inc. | Method and apparatus for decompiling a compiled interpretive code |
US5872909A (en) * | 1995-01-24 | 1999-02-16 | Wind River Systems, Inc. | Logic analyzer for software |
US5884081A (en) * | 1996-12-19 | 1999-03-16 | International Business Machines Corp. | Method and system for synchronizing code with design |
US5892941A (en) * | 1997-04-29 | 1999-04-06 | Microsoft Corporation | Multiple user software debugging system |
US5903759A (en) * | 1997-06-04 | 1999-05-11 | 3 Com Corporation | Software performance analysis using hardware analyzer |
US5918053A (en) * | 1996-12-19 | 1999-06-29 | International Business Machines Corp. | Method and system for diagraming collaborations deduced from small talkcode using a design virtual machine |
US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
US5926638A (en) * | 1996-01-17 | 1999-07-20 | Nec Corporation | Program debugging system for debugging a program having graphical user interface |
US5933641A (en) * | 1997-03-24 | 1999-08-03 | Tritech Microelectronics International, Ltd. | Numeric intensive real-time software development system |
US5937191A (en) * | 1997-06-03 | 1999-08-10 | Ncr Corporation | Determining and reporting data accessing activity of a program |
US5940605A (en) * | 1995-06-06 | 1999-08-17 | Nec Corporation | Simulation method and simulation system |
US5946486A (en) * | 1996-12-10 | 1999-08-31 | International Business Machines Corporation | Apparatus and method for tracing entries to or exits from a dynamic link library |
US5950004A (en) * | 1996-09-13 | 1999-09-07 | The United States Of America As Represented By The Secretary Of The Navy | Model-based process for translating test programs |
US5950009A (en) * | 1997-03-10 | 1999-09-07 | International Business Machines Coporation | Method and apparatus for profile-based reordering of program portions in a computer program |
US5960198A (en) * | 1997-03-19 | 1999-09-28 | International Business Machines Corporation | Software profiler with runtime control to enable and disable instrumented executable |
US5960201A (en) * | 1997-03-17 | 1999-09-28 | Tritech Microelectronics, Ltd | Numeric intensive development environment |
US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
US5964867A (en) * | 1997-11-26 | 1999-10-12 | Digital Equipment Corporation | Method for inserting memory prefetch operations based on measured latencies in a program optimizer |
US5964890A (en) * | 1997-03-27 | 1999-10-12 | Mitsubishi Electric Semiconductor Software Co., Ltd. | System call issue method and debug system |
US5987251A (en) * | 1997-09-03 | 1999-11-16 | Mci Communications Corporation | Automated document checking tool for checking sufficiency of documentation of program instructions |
US5991763A (en) * | 1996-10-29 | 1999-11-23 | Sun Microsystems, Inc. | Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system |
US6000044A (en) * | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling instructions in a processor pipeline |
US6003095A (en) * | 1996-10-31 | 1999-12-14 | International Business Machines Corporation | Apparatus and method for demand loading a dynamic link library |
US6026234A (en) * | 1997-03-19 | 2000-02-15 | International Business Machines Corporation | Method and apparatus for profiling indirect procedure calls in a computer program |
US6029004A (en) * | 1997-03-17 | 2000-02-22 | International Business Machines Corporation | Method and apparatus for modular reordering of portions of a computer program based on profile data |
US6049666A (en) * | 1993-06-08 | 2000-04-11 | Rational Software Corp. | Method and apparatus for accurate profiling of computer programs |
US6065100A (en) * | 1996-11-12 | 2000-05-16 | Micro-Design International | Caching apparatus and method for enhancing retrieval of data from an optical storage device |
US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
US6070009A (en) * | 1997-11-26 | 2000-05-30 | Digital Equipment Corporation | Method for estimating execution rates of program execution paths |
US6077311A (en) * | 1997-07-09 | 2000-06-20 | Silicon Graphics, Inc. | Method and apparatus for extraction of program region |
US6081664A (en) * | 1996-09-30 | 2000-06-27 | Intel Corporation | Method for monitoring a BIOS |
US6085029A (en) * | 1995-05-09 | 2000-07-04 | Parasoft Corporation | Method using a computer for automatically instrumenting a computer program for dynamic debugging |
US6092180A (en) * | 1997-11-26 | 2000-07-18 | Digital Equipment Corporation | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
US6105059A (en) * | 1995-12-29 | 2000-08-15 | International Business Machines Corporation | Programming information for servers and clients in a distributed computing environment using stub codes with event information for a debugging utility |
US6106571A (en) * | 1998-01-29 | 2000-08-22 | Applied Microsystems Corporation | Relocatable instrumentation tags for testing and debugging a computer program |
US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
US6138252A (en) * | 1996-07-01 | 2000-10-24 | Sun Microsystems, Inc. | Graphical test progress monitor |
US6141635A (en) * | 1998-06-12 | 2000-10-31 | Unisys Corporation | Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program |
FR2793328A1 (en) * | 1999-05-07 | 2000-11-10 | Thomson Multimedia Sa | Aid to detection of operating faults in digital equipment, particularly digital television, digital audio and video recording and digital disc recording |
US6148396A (en) * | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
US6161216A (en) * | 1998-04-29 | 2000-12-12 | Emc Corporation | Source code debugging tool |
US6163840A (en) * | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
US6164841A (en) * | 1998-05-04 | 2000-12-26 | Hewlett-Packard Company | Method, apparatus, and product for dynamic software code translation system |
US6175955B1 (en) * | 1998-07-31 | 2001-01-16 | Agilent Technologies | Method for retrieving selected data values in a processor using data visibility macros |
US6186677B1 (en) * | 1996-08-27 | 2001-02-13 | Compuware Corporation | Byte code instrumentation |
US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
US6202199B1 (en) * | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6209019B1 (en) * | 1995-03-13 | 2001-03-27 | Kabushiki Kaisha Toshiba | Data processing system, computer network, and data processing method |
US6237139B1 (en) * | 1997-09-03 | 2001-05-22 | Fujitsu Limited | Object-oriented programming support system |
US6237059B1 (en) | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system interactions among contexts in a computer system |
US6263489B1 (en) * | 1998-04-30 | 2001-07-17 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code |
WO2001059971A2 (en) * | 2000-02-14 | 2001-08-16 | Nextnine Ltd. | Embedded device monitoring agent |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6289503B1 (en) * | 1998-09-24 | 2001-09-11 | International Business Machines Corporation | System and method for trace verification |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6311326B1 (en) * | 1999-01-04 | 2001-10-30 | Emc Corporation | Online debugging and tracing system and method |
US6317706B1 (en) * | 1998-03-31 | 2001-11-13 | Sony Corporation | Simulation development tool for an embedded system |
US6332178B1 (en) | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
US6336170B1 (en) | 1998-10-13 | 2002-01-01 | International Business Machines Corporation | Method and system in a distributed shared-memory data processing system for determining utilization of shared-memory included within nodes by a designated application |
US6351843B1 (en) | 1998-08-31 | 2002-02-26 | International Business Machines Corporation | Dynamically inserting a function into an application executable at runtime |
US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
US20020073400A1 (en) * | 2000-07-26 | 2002-06-13 | Michael Beuten | Method for monitoring a program execution using a debug logic |
WO2002056173A1 (en) * | 2001-01-10 | 2002-07-18 | Desoc Technology Inc. | Methods and apparatus for deep embedded software development |
US20020100025A1 (en) * | 1998-10-30 | 2002-07-25 | Thomas Buechner | Operation graph based event monitoring system |
US20020104074A1 (en) * | 2001-01-26 | 2002-08-01 | Robert Hundt | Providing debugging capability for program instrumented code |
US6430741B1 (en) * | 1999-02-26 | 2002-08-06 | Hewlett-Packard Company | System and method for data coverage analysis of a computer program |
US6434741B1 (en) | 1998-04-30 | 2002-08-13 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code using emulation |
US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
US20020129035A1 (en) * | 2000-12-01 | 2002-09-12 | Hayes Scott R. | Software performance and management system |
US20020152455A1 (en) * | 2001-04-11 | 2002-10-17 | Robert Hundt | Dynamic instrumentation of an executable program |
US6477683B1 (en) * | 1999-02-05 | 2002-11-05 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US20020184615A1 (en) * | 2001-04-25 | 2002-12-05 | Sumner William Earl | System and method for selectively and automatically modifying the source code of a computer program |
US20020188831A1 (en) * | 2001-06-06 | 2002-12-12 | Jackson Christopher J. | Annotations for transaction tracing |
US20030005417A1 (en) * | 2001-06-29 | 2003-01-02 | Gard James J. | Debugger for a hardware-implemented operating system |
US20030005107A1 (en) * | 2000-02-14 | 2003-01-02 | Adi Dulberg | Support network |
US6513154B1 (en) | 1996-10-21 | 2003-01-28 | John R. Porterfield | System and method for testing of computer programs in programming effort |
US20030028859A1 (en) * | 2001-07-31 | 2003-02-06 | Nigel Street | Method of collecting, visualizing and analyzing object interaction |
US20030037314A1 (en) * | 2001-08-01 | 2003-02-20 | International Business Machines Corporation | Method and apparatus for testing and evaluating a software component using an abstraction matrix |
US6526567B1 (en) * | 1999-03-24 | 2003-02-25 | International Business Machines Corporation | System and method for optimizing a device driver by incorporating debugging and tracing |
US6526568B1 (en) * | 1999-01-28 | 2003-02-25 | Fujitsu Limited | Method for generating test data for listing program, listing program generation apparatus, and storage medium storing program for generating test data |
US20030046614A1 (en) * | 2001-08-31 | 2003-03-06 | Brokish Charles W. | System and method for using embedded real-time analysis components |
US20030056151A1 (en) * | 2001-09-19 | 2003-03-20 | Nec Corporation | Software evaluation system, software evaluation apparatus, software evaluation method, recording medium, and computer data signal |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US20030093685A1 (en) * | 2001-11-15 | 2003-05-15 | Tobin John P.E. | Method and system for obfuscation of computer program execution flow to increase computer program security |
US20030093772A1 (en) * | 2001-06-12 | 2003-05-15 | Stephenson David Arthur | Method and system for instrumenting a software program and collecting data from the instrumented software program |
US20030101322A1 (en) * | 2001-10-25 | 2003-05-29 | Gardner Robert D. | Protection of user process data in a secure platform architecture |
US20030140292A1 (en) * | 2002-01-15 | 2003-07-24 | Eyal Benoudiz | System and method for visual debugging of constraint systems |
US6622300B1 (en) * | 1999-04-21 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Dynamic optimization of computer programs using code-rewriting kernal module |
US6629174B1 (en) * | 1998-12-29 | 2003-09-30 | International Business Machines Corporation | Synchronization using bus arbitration control for system analysis |
US20030212983A1 (en) * | 1998-12-14 | 2003-11-13 | Tinker Jeffrey L. | Method and system for modifying executable code to add additional functionality |
US20030212963A1 (en) * | 1999-05-13 | 2003-11-13 | Hakewill James Robert Howard | Method and apparatus for jump control in a pipelined processor |
US20030217355A1 (en) * | 2002-05-16 | 2003-11-20 | International Business Machines Corporation | System and method of implementing a virtual data modification breakpoint register |
US6658652B1 (en) | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
US6662359B1 (en) | 2000-07-20 | 2003-12-09 | International Business Machines Corporation | System and method for injecting hooks into Java classes to handle exception and finalization processing |
US20030229482A1 (en) * | 2002-04-25 | 2003-12-11 | Cook Stephen Anthony | Apparatus and method for managing integrated circuit designs |
US6675374B2 (en) | 1999-10-12 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Insertion of prefetch instructions into computer program code |
US6681374B1 (en) | 1999-06-09 | 2004-01-20 | Lucent Technologies Inc. | Hit-or-jump method and system for embedded testing |
US6694457B2 (en) | 2001-03-06 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | System and method for monitoring execution of privileged instructions |
US6701518B1 (en) * | 2000-08-03 | 2004-03-02 | Hewlett-Packard Development Company, L.P. | System and method for enabling efficient processing of a program that includes assertion instructions |
US6701460B1 (en) * | 1999-10-21 | 2004-03-02 | Sun Microsystems, Inc. | Method and apparatus for testing a computer system through software fault injection |
US20040078785A1 (en) * | 2002-10-22 | 2004-04-22 | Bala Dutt | System and method for marking software code |
US20040088699A1 (en) * | 2002-11-06 | 2004-05-06 | Charles Suresh | System and method for measuring code segment performance |
US6735758B1 (en) | 2000-07-06 | 2004-05-11 | International Business Machines Corporation | Method and system for SMP profiling using synchronized or nonsynchronized metric variables with support across multiple systems |
US6742178B1 (en) | 2000-07-20 | 2004-05-25 | International Business Machines Corporation | System and method for instrumenting application class files with correlation information to the instrumentation |
US6745383B1 (en) | 1999-12-29 | 2004-06-01 | Veritas Operating Corporation | Early warning mechanism for enhancing enterprise availability |
US6745348B2 (en) | 2001-06-14 | 2004-06-01 | International Business Machines Corporation | Method for estimating number of internationalization faults in software code |
US6748584B1 (en) * | 1999-12-29 | 2004-06-08 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
US20040117771A1 (en) * | 2002-12-12 | 2004-06-17 | Microsoft Corporation | Preprocessor-based source code instrumentation |
US6754888B1 (en) * | 1999-12-30 | 2004-06-22 | International Business Machines Corporation | Facility for evaluating a program for debugging upon detection of a debug trigger point |
US6769126B1 (en) | 1996-12-10 | 2004-07-27 | International Business Machines Corporation | Apparatus and method for demand load analysis |
US20040148152A1 (en) * | 2003-01-17 | 2004-07-29 | Nec Corporation | System performance prediction mechanism and method based on software component performance measurements |
US6772372B2 (en) | 2001-03-06 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | System and method for monitoring unaligned memory accesses |
US20040163079A1 (en) * | 2003-02-13 | 2004-08-19 | Path Communications, Inc. | Software behavior pattern recognition and analysis |
US6795879B2 (en) * | 2001-08-08 | 2004-09-21 | Texas Instruments Incorporated | Apparatus and method for wait state analysis in a digital signal processing system |
US20040199828A1 (en) * | 2003-04-01 | 2004-10-07 | International Business Machines Corporation | Method and apparatus for tracing troubleshooting events for aiding technical assistance |
US6804814B1 (en) | 1999-12-29 | 2004-10-12 | Veritas Operating Corporation | Method for simulating back program execution from a traceback sequence |
US20040230806A1 (en) * | 2003-05-14 | 2004-11-18 | International Business Machines Corporation | Digital content control including digital rights management (DRM) through dynamic instrumentation |
US20040250176A1 (en) * | 2003-06-03 | 2004-12-09 | Brown Christopher W. | Generating a status report from source code |
US6862563B1 (en) | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US20050049843A1 (en) * | 2003-08-29 | 2005-03-03 | Lee Hewitt | Computerized extension apparatus and methods |
US20050071815A1 (en) * | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | Method and system for inspecting the runtime behavior of a program while minimizing perturbation |
US6901582B1 (en) | 1999-11-24 | 2005-05-31 | Quest Software, Inc. | Monitoring system for monitoring the performance of an application |
US6904594B1 (en) | 2000-07-06 | 2005-06-07 | International Business Machines Corporation | Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment |
US20050144588A1 (en) * | 2003-12-30 | 2005-06-30 | Intel Corporation | System and method for embedded processor firmware development |
US20050172271A1 (en) * | 1997-10-29 | 2005-08-04 | Spertus Michael P. | Interactive debugging system with debug data base system |
US20050203955A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Method and system for analyzing interaction among software artifacts |
US6951011B1 (en) * | 1999-10-21 | 2005-09-27 | Oracle International Corp. | Diagnostic method and article for identifying significant events |
US20050216866A1 (en) * | 1997-06-25 | 2005-09-29 | Comet Systems, Inc. | System for replacing a cursor image in connection with displaying the contents of a web page |
US6961930B1 (en) | 1999-09-22 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Efficient, transparent and flexible latency sampling |
US6973417B1 (en) | 1999-11-05 | 2005-12-06 | Metrowerks Corporation | Method and system for simulating execution of a target program in a simulated target system |
US20050273559A1 (en) * | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
US20060005080A1 (en) * | 2004-07-02 | 2006-01-05 | Seagate Technology Llc | Event logging and analysis in a software system |
US6986127B1 (en) * | 2000-10-03 | 2006-01-10 | Tensilica, Inc. | Debugging apparatus and method for systems of configurable processors |
US6988263B1 (en) * | 2000-07-10 | 2006-01-17 | International Business Machines Corporation | Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs |
US20060048011A1 (en) * | 2004-08-26 | 2006-03-02 | International Business Machines Corporation | Performance profiling of microprocessor systems using debug hardware and performance monitor |
US7032213B1 (en) * | 1999-09-01 | 2006-04-18 | Microsoft Corporation | Fixing incompatible applications using a light debugger |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
US20060161869A1 (en) * | 2005-01-14 | 2006-07-20 | Microsoft Corporation | Multi-focus tree control |
US20060161394A1 (en) * | 2000-02-14 | 2006-07-20 | Nextnine, Inc. | Support network |
US20060206875A1 (en) * | 2000-02-03 | 2006-09-14 | Lorin Ullmann | Stack unique signatures for program procedures and methods |
US7111254B1 (en) * | 1997-06-25 | 2006-09-19 | Comet Systems, Inc. | System for replacing a cursor image in connection with displaying the contents of a web page |
US20060242627A1 (en) * | 2000-12-26 | 2006-10-26 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US20060253745A1 (en) * | 2001-09-25 | 2006-11-09 | Path Reliability Inc. | Application manager for monitoring and recovery of software based application processes |
US20060259826A1 (en) * | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Method and system of identifying overlays |
US20070006173A1 (en) * | 2005-05-16 | 2007-01-04 | Texas Instruments Incorporated | Method and system of profiling real-time streaming channels |
US7178076B1 (en) | 2004-06-16 | 2007-02-13 | Sun Microsystems, Inc. | Architecture of an efficient at-speed programmable memory built-in self test |
US7206979B1 (en) | 2004-06-28 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for at-speed diagnostics of embedded memories |
US7240334B1 (en) * | 2000-06-29 | 2007-07-03 | International Business Machines Corporation | Methods, systems, and computer program products for deferred computer program tracing |
US20070156882A1 (en) * | 2005-06-09 | 2007-07-05 | Whirlpool Corporation | Data acquisition engine and system for an appliance |
US20070156864A1 (en) * | 2005-06-09 | 2007-07-05 | Whirlpool Corporation | Software architecture system and method for operating an appliance in multiple operating modes |
US20070162158A1 (en) * | 2005-06-09 | 2007-07-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance utilizing configurable notification messages |
US7260759B1 (en) | 2004-06-16 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors |
US20070234305A1 (en) * | 2005-12-23 | 2007-10-04 | Microsoft Corporation | Tracing errors in software |
US20070240173A1 (en) * | 2005-06-09 | 2007-10-11 | Whirlpool Corporation | Data acquisition engine and system for an appliance |
US20070240115A1 (en) * | 2006-03-31 | 2007-10-11 | Microsoft Corporation | Debugging in an operating system with multiple subsystems |
US7290089B2 (en) | 2002-10-15 | 2007-10-30 | Stmicroelectronics, Inc. | Executing cache instructions in an increased latency mode |
US7293199B1 (en) | 2004-06-22 | 2007-11-06 | Sun Microsystems, Inc. | Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller |
US20080082967A1 (en) * | 2006-10-02 | 2008-04-03 | Bulent Kasman | Method and system for parameter profile compiling |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US20080137670A1 (en) * | 2005-06-09 | 2008-06-12 | Whirlpool Corporation | Network System with Message Binding for Appliances |
US7389497B1 (en) | 2000-07-06 | 2008-06-17 | International Business Machines Corporation | Method and system for tracing profiling information using per thread metric variables with reused kernel threads |
US20080244530A1 (en) * | 2007-03-30 | 2008-10-02 | International Business Machines Corporation | Controlling tracing within compiled code |
US20080250433A1 (en) * | 1993-07-19 | 2008-10-09 | Apple Inc. | Object-oriented operating system |
US20080287121A1 (en) * | 2005-06-09 | 2008-11-20 | Whirlpool Corporation | Method and Apparatus for Remote Service of an Appliance |
US20080294942A1 (en) * | 2007-05-21 | 2008-11-27 | David Breitgand | Self-healing system and method |
US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
US20090055565A1 (en) * | 2000-03-10 | 2009-02-26 | David Latta | Memory interface and method of interfacing between functional entities |
US20090083525A1 (en) * | 2004-09-30 | 2009-03-26 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US7519959B1 (en) * | 2004-11-12 | 2009-04-14 | Sun Microsystems, Inc. | Hybrid profiling technique |
US20090119653A1 (en) * | 2007-11-02 | 2009-05-07 | Paul Kettley | Instrumenting a compiled software routine for augmentation |
US20090307532A1 (en) * | 2008-06-04 | 2009-12-10 | Jason Neal Raber | Stealthy debugger |
US7653899B1 (en) | 2004-07-23 | 2010-01-26 | Green Hills Software, Inc. | Post-execution software debugger with performance display |
US20100088683A1 (en) * | 2000-03-03 | 2010-04-08 | Identify Software, Ltd. | System and method for software diagnostics using a combination of visual and dynamic tracing |
US7707459B2 (en) | 2007-03-08 | 2010-04-27 | Whirlpool Corporation | Embedded systems debugging |
US20100153927A1 (en) * | 2008-12-16 | 2010-06-17 | Microsoft Corporation | Transforming user script code for debugging |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US7827483B2 (en) * | 1998-08-28 | 2010-11-02 | Corel Corporation | Real time preview |
US7849183B1 (en) | 2004-08-31 | 2010-12-07 | Precise Software Solutions, Inc. | Method of monitoring network and application performance by analyzing web clients and web servers |
US7873715B1 (en) | 2003-12-18 | 2011-01-18 | Precise Software Solutions, Inc. | Optimized instrumentation of web pages for performance management |
US20110119656A1 (en) * | 2009-11-13 | 2011-05-19 | Samsung Electronics Co., Ltd. | Computing system, method and computer-readable medium processing debug information in computing system |
US20110153435A1 (en) * | 2009-09-17 | 2011-06-23 | Lexos Media Inc. | System and method of cursor-based content delivery |
US7971042B2 (en) | 2005-09-28 | 2011-06-28 | Synopsys, Inc. | Microprocessor system and method for instruction-initiated recording and execution of instruction sequences in a dynamically decoupleable extended instruction pipeline |
US7979245B1 (en) | 2006-05-17 | 2011-07-12 | Quest Software, Inc. | Model-based systems and methods for monitoring computing resource performance |
US8015552B1 (en) | 2004-07-23 | 2011-09-06 | Green Hills Software, Inc. | Post-execution software debugger with coverage display |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US8136096B1 (en) | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
US8146057B1 (en) | 2005-01-07 | 2012-03-27 | Interactive TKO, Inc. | Instrumentation system and method for testing software |
US8175863B1 (en) | 2008-02-13 | 2012-05-08 | Quest Software, Inc. | Systems and methods for analyzing performance of virtual environments |
US8185868B1 (en) | 2004-12-20 | 2012-05-22 | The Mathworks, Inc. | System and method for cell-based code editing and publishing |
US8185598B1 (en) | 2006-11-03 | 2012-05-22 | Quest Software, Inc. | Systems and methods for monitoring messaging systems |
US20120144367A1 (en) * | 2010-12-06 | 2012-06-07 | Microsoft Corporation | Events fired pre- and post-method execution |
CN102495793A (en) * | 2011-11-11 | 2012-06-13 | 迈普通信技术股份有限公司 | Method for detecting endless loop task |
US8271955B1 (en) | 2004-07-23 | 2012-09-18 | Green Hille Software, Inc. | Forward post-execution software debugger |
CN103164332A (en) * | 2011-12-15 | 2013-06-19 | 迈普通信技术股份有限公司 | Detection and processing method of endless loop task |
US20130275948A1 (en) * | 2012-04-17 | 2013-10-17 | International Business Machines Corporation | Compiling Source Code For Debugging With Expanded Snapshots |
US8584097B2 (en) | 2004-07-23 | 2013-11-12 | Green Hills Software, Inc. | Post-execution software debugger with event display |
US20140082592A1 (en) * | 2009-09-30 | 2014-03-20 | Microsoft Corporation | Marker correlation of application constructs with visualizations |
US8762956B1 (en) * | 2007-01-31 | 2014-06-24 | The Mathworks, Inc. | Generating a report document from code |
US8788527B1 (en) | 2003-12-31 | 2014-07-22 | Precise Software Solutions, Inc. | Object-level database performance management |
US20140223000A1 (en) * | 2013-02-07 | 2014-08-07 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US8910126B2 (en) | 2012-04-18 | 2014-12-09 | International Business Machines Corporation | Compiling source code for debugging with variable value restoration based on debugging user activity |
US8966454B1 (en) | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20150067661A1 (en) * | 2013-09-03 | 2015-03-05 | Atmel Corporation | Software code profiling |
US8984490B1 (en) | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20150095887A1 (en) * | 2013-10-01 | 2015-04-02 | Wipro Limited | Systems and methods for fixing software defects in a binary or executable file |
US9003166B2 (en) | 2006-12-01 | 2015-04-07 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
US20150205702A1 (en) * | 2008-09-30 | 2015-07-23 | Interactive TKO, Inc | Service modeling and virtualization |
US9110496B1 (en) | 2011-06-07 | 2015-08-18 | Interactive TKO, Inc. | Dynamic provisioning of a virtual test environment |
US9122803B1 (en) | 2010-10-26 | 2015-09-01 | Interactive TKO, Inc. | Collaborative software defect detection |
US9215142B1 (en) | 2011-04-20 | 2015-12-15 | Dell Software Inc. | Community analysis of computing performance |
US9235490B2 (en) | 2010-10-26 | 2016-01-12 | Ca, Inc. | Modeling and testing of interactions between components of a software system |
US9250900B1 (en) | 2014-10-01 | 2016-02-02 | Cadence Design Systems, Inc. | Method, system, and computer program product for implementing a microprocessor with a customizable register file bypass network |
US9274758B1 (en) | 2015-01-28 | 2016-03-01 | Dell Software Inc. | System and method for creating customized performance-monitoring applications |
US9286184B1 (en) * | 2006-01-23 | 2016-03-15 | Hewlett-Packard Development Company, L.P. | Probabilistic correlation of system events with program instructions |
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9378118B2 (en) | 2005-01-07 | 2016-06-28 | Ca, Inc. | Graphical model for test case viewing, editing, and reporting |
US9384334B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content discovery in managed wireless distribution networks |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US9430667B2 (en) | 2014-05-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Managed wireless distribution network |
US9479414B1 (en) | 2014-05-30 | 2016-10-25 | Dell Software Inc. | System and method for analyzing computing performance |
US9531609B2 (en) | 2014-03-23 | 2016-12-27 | Ca, Inc. | Virtual service automation |
US9557879B1 (en) | 2012-10-23 | 2017-01-31 | Dell Software Inc. | System for inferring dependencies among computing systems |
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US20170102889A1 (en) * | 2015-10-13 | 2017-04-13 | International Business Machines Corporation | Backup storage of vital debug information |
US9632915B2 (en) | 2014-10-29 | 2017-04-25 | Microsoft Technology Licensing, Llc. | Historical control flow visualization in production diagnostics |
US9703681B2 (en) | 2014-05-29 | 2017-07-11 | Microsoft Technology Licensing, Llc | Performance optimization tip presentation during debugging |
US9727314B2 (en) | 2014-03-21 | 2017-08-08 | Ca, Inc. | Composite virtual services |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US9886365B2 (en) | 2016-01-07 | 2018-02-06 | Ca, Inc. | Transactional boundaries for software system debugging |
US9898390B2 (en) | 2016-03-30 | 2018-02-20 | Ca, Inc. | Virtual service localization |
US9946639B2 (en) | 2016-03-30 | 2018-04-17 | Ca, Inc. | Transactional boundaries for virtualization within a software system |
US9983856B2 (en) | 2016-01-08 | 2018-05-29 | Ca, Inc. | Transaction flow visualization |
US9996577B1 (en) | 2015-02-11 | 2018-06-12 | Quest Software Inc. | Systems and methods for graphically filtering code call trees |
US10025839B2 (en) | 2013-11-29 | 2018-07-17 | Ca, Inc. | Database virtualization |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US10114736B2 (en) | 2016-03-30 | 2018-10-30 | Ca, Inc. | Virtual service data set generation |
US10146663B2 (en) | 2008-09-30 | 2018-12-04 | Ca, Inc. | Modeling and testing interactions between components of a software system |
US10154098B2 (en) | 2016-01-07 | 2018-12-11 | Ca, Inc. | Transactional boundaries for software system profiling |
US10185613B2 (en) * | 2016-04-29 | 2019-01-22 | Vmware, Inc. | Error determination from logs |
US10187260B1 (en) | 2015-05-29 | 2019-01-22 | Quest Software Inc. | Systems and methods for multilayer monitoring of network function virtualization architectures |
US10200252B1 (en) | 2015-09-18 | 2019-02-05 | Quest Software Inc. | Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems |
US10230601B1 (en) | 2016-07-05 | 2019-03-12 | Quest Software Inc. | Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems |
US10291493B1 (en) | 2014-12-05 | 2019-05-14 | Quest Software Inc. | System and method for determining relevant computer performance events |
US10296445B2 (en) | 2015-09-13 | 2019-05-21 | Ca, Inc. | Automated system documentation generation |
US10333820B1 (en) | 2012-10-23 | 2019-06-25 | Quest Software Inc. | System for inferring dependencies among computing systems |
US10341214B2 (en) | 2016-03-30 | 2019-07-02 | Ca, Inc. | Scenario coverage in test generation |
US10380003B2 (en) | 2014-10-29 | 2019-08-13 | Microsoft Technology Licensing, Llc | Diagnostic workflow for production debugging |
US10394583B2 (en) | 2016-03-31 | 2019-08-27 | Ca, Inc. | Automated model generation for a software system |
US10410117B2 (en) | 2008-09-21 | 2019-09-10 | Brainchip, Inc. | Method and a system for creating dynamic neural function libraries |
US10621068B2 (en) * | 2016-03-07 | 2020-04-14 | Revdebug.Com Sp. Z O.O. | Software code debugger for quick detection of error root causes |
US10628420B2 (en) | 2015-12-18 | 2020-04-21 | Ca, Inc. | Dynamic virtual service |
US10691445B2 (en) | 2014-06-03 | 2020-06-23 | Microsoft Technology Licensing, Llc | Isolating a portion of an online computing service for testing |
US10846211B2 (en) * | 2018-03-21 | 2020-11-24 | Microsoft Technology Licensing, Llc | Testing kernel mode computer code by executing the computer code in user mode |
US10915426B2 (en) * | 2019-06-06 | 2021-02-09 | International Business Machines Corporation | Intercepting and recording calls to a module in real-time |
US10929126B2 (en) | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Intercepting and replaying interactions with transactional and database environments |
US10977159B2 (en) * | 2017-06-09 | 2021-04-13 | Microsoft Technology Licensing, Llc | Instrumentation of user actions in software applications |
US11005738B1 (en) | 2014-04-09 | 2021-05-11 | Quest Software Inc. | System and method for end-to-end response-time analysis |
US11016762B2 (en) | 2019-06-06 | 2021-05-25 | International Business Machines Corporation | Determining caller of a module in real-time |
US11036619B2 (en) | 2019-06-06 | 2021-06-15 | International Business Machines Corporation | Bypassing execution of a module in real-time |
US11074069B2 (en) | 2019-06-06 | 2021-07-27 | International Business Machines Corporation | Replaying interactions with transactional and database environments with re-arrangement |
US11822468B2 (en) | 2019-05-24 | 2023-11-21 | Microsoft Technology Licensing, Llc | Executable code branch annotations for objective branch verification |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2340268A (en) * | 1998-08-05 | 2000-02-16 | Nokia Telecommunications Oy | Monitoring data processing |
US20070250810A1 (en) | 2006-04-20 | 2007-10-25 | Tittizer Abigail A | Systems and methods for managing data associated with computer code |
FR2916546A1 (en) * | 2007-05-24 | 2008-11-28 | Airbus France Sa | METHOD FOR SIMULATING AN ON-BOARD AIRCRAFT ON-BOARD SYSTEM FOR TESTING AN OPERATING SOFTWARE AND DEVICE FOR IMPLEMENTING SAID METHOD |
US8370354B2 (en) | 2010-06-30 | 2013-02-05 | International Business Machines Corporation | Acceleration of legacy to service oriented (L2SOA) architecture renovations |
US9471787B2 (en) | 2011-08-25 | 2016-10-18 | International Business Machines Corporation | Detecting stored cross-site scripting vulnerabilities in web applications |
DE102022109055A1 (en) | 2022-04-13 | 2023-10-19 | Dspace Gmbh | Method for documenting computing steps of a real-time system, processor and real-time system executed on a computer core of a processor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4802165A (en) * | 1986-10-08 | 1989-01-31 | Enteleki, Inc. | Method and apparatus of debugging computer programs |
US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
US5047919A (en) * | 1986-04-03 | 1991-09-10 | Harris Corporation | Method and apparatus for monitoring software execution in a parallel multiprocessor computer system |
US5103394A (en) * | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
US5121501A (en) * | 1989-12-27 | 1992-06-09 | International Business Machines Corporation | First processor inserting hooks into software and sending unique identifications to output bus and second processor associating data frames and time with these unique identifications |
US5265254A (en) * | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
-
1992
- 1992-04-30 US US07/876,346 patent/US5450586A/en not_active Expired - Fee Related
-
1993
- 1993-01-19 EP EP93100740A patent/EP0567722B1/en not_active Expired - Lifetime
- 1993-01-19 DE DE69330537T patent/DE69330537T2/en not_active Expired - Fee Related
- 1993-04-28 JP JP5125058A patent/JPH0689200A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
US5103394A (en) * | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
US5047919A (en) * | 1986-04-03 | 1991-09-10 | Harris Corporation | Method and apparatus for monitoring software execution in a parallel multiprocessor computer system |
US4802165A (en) * | 1986-10-08 | 1989-01-31 | Enteleki, Inc. | Method and apparatus of debugging computer programs |
US5121501A (en) * | 1989-12-27 | 1992-06-09 | International Business Machines Corporation | First processor inserting hooks into software and sending unique identifications to output bus and second processor associating data frames and time with these unique identifications |
US5265254A (en) * | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
Cited By (403)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5603032A (en) * | 1993-02-10 | 1997-02-11 | Bull, S.A. | Method for administration of applications by standard protocols |
US6049666A (en) * | 1993-06-08 | 2000-04-11 | Rational Software Corp. | Method and apparatus for accurate profiling of computer programs |
US6934935B1 (en) | 1993-06-08 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for accurate profiling of computer programs |
US20080250433A1 (en) * | 1993-07-19 | 2008-10-09 | Apple Inc. | Object-oriented operating system |
US20090193442A2 (en) * | 1993-07-19 | 2009-07-30 | Object Technology Licensing Corporation | Object-oriented operating system |
US5551037A (en) * | 1993-11-19 | 1996-08-27 | Lucent Technologies Inc. | Apparatus and methods for visualizing operation of a system of processes |
US5594904A (en) * | 1994-02-28 | 1997-01-14 | Telefonaktiebolaget L M Ericsson | Tracing with keys and locks |
US5687338A (en) * | 1994-03-01 | 1997-11-11 | Intel Corporation | Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor |
US5872909A (en) * | 1995-01-24 | 1999-02-16 | Wind River Systems, Inc. | Logic analyzer for software |
US5652899A (en) * | 1995-03-03 | 1997-07-29 | International Business Machines Corporation | Software understanding aid for generating and displaying simiplified code flow paths with respect to target code statements |
US6209019B1 (en) * | 1995-03-13 | 2001-03-27 | Kabushiki Kaisha Toshiba | Data processing system, computer network, and data processing method |
US5802291A (en) * | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US6085029A (en) * | 1995-05-09 | 2000-07-04 | Parasoft Corporation | Method using a computer for automatically instrumenting a computer program for dynamic debugging |
US5884082A (en) * | 1995-05-19 | 1999-03-16 | Lucent Technologies Inc. | Method for monitoring a digital multiprocessor |
WO1996036918A1 (en) * | 1995-05-19 | 1996-11-21 | At & T Ipm Corp. | Method for monitoring a digital multiprocessor |
US5940605A (en) * | 1995-06-06 | 1999-08-17 | Nec Corporation | Simulation method and simulation system |
US5778169A (en) * | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
US5671417A (en) * | 1995-08-11 | 1997-09-23 | International Business Machines Corporation | Method and system for inserting floating code hooks into multiple versions of code |
US5754861A (en) * | 1995-08-16 | 1998-05-19 | Motorola, Inc. | Dynamic program input/output determination |
US6161200A (en) * | 1995-09-11 | 2000-12-12 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US5748878A (en) * | 1995-09-11 | 1998-05-05 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
WO1997014096A1 (en) * | 1995-10-13 | 1997-04-17 | Sevone Software, Inc. | System and method for debugging computer software |
US5812133A (en) * | 1995-11-01 | 1998-09-22 | Allen Bradley Company, Llc | Industrial controller with display of rung execution |
US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
US6408403B1 (en) | 1995-11-09 | 2002-06-18 | Microsoft Corporation | Method for integrating automated software testing with software development |
US5781760A (en) * | 1995-11-16 | 1998-07-14 | Motorola, Inc. | Methods of simulating an electronic circuit design and forming an integrated circuit |
US5774724A (en) * | 1995-11-20 | 1998-06-30 | International Business Machines Coporation | System and method for acquiring high granularity performance data in a computer system |
US6105059A (en) * | 1995-12-29 | 2000-08-15 | International Business Machines Corporation | Programming information for servers and clients in a distributed computing environment using stub codes with event information for a debugging utility |
US5926638A (en) * | 1996-01-17 | 1999-07-20 | Nec Corporation | Program debugging system for debugging a program having graphical user interface |
US5860008A (en) * | 1996-02-02 | 1999-01-12 | Apple Computer, Inc. | Method and apparatus for decompiling a compiled interpretive code |
US5732210A (en) * | 1996-03-15 | 1998-03-24 | Hewlett-Packard Company | Use of dynamic translation to provide fast debug event checks |
US6138252A (en) * | 1996-07-01 | 2000-10-24 | Sun Microsystems, Inc. | Graphical test progress monitor |
US5809566A (en) * | 1996-08-14 | 1998-09-15 | International Business Machines Corporation | Automatic cache prefetch timing with dynamic trigger migration |
US6186677B1 (en) * | 1996-08-27 | 2001-02-13 | Compuware Corporation | Byte code instrumentation |
US5682328A (en) * | 1996-09-11 | 1997-10-28 | Bbn Corporation | Centralized computer event data logging system |
US5950004A (en) * | 1996-09-13 | 1999-09-07 | The United States Of America As Represented By The Secretary Of The Navy | Model-based process for translating test programs |
US6081664A (en) * | 1996-09-30 | 2000-06-27 | Intel Corporation | Method for monitoring a BIOS |
US6513154B1 (en) | 1996-10-21 | 2003-01-28 | John R. Porterfield | System and method for testing of computer programs in programming effort |
US5991763A (en) * | 1996-10-29 | 1999-11-23 | Sun Microsystems, Inc. | Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system |
US6003095A (en) * | 1996-10-31 | 1999-12-14 | International Business Machines Corporation | Apparatus and method for demand loading a dynamic link library |
US6065100A (en) * | 1996-11-12 | 2000-05-16 | Micro-Design International | Caching apparatus and method for enhancing retrieval of data from an optical storage device |
US6769126B1 (en) | 1996-12-10 | 2004-07-27 | International Business Machines Corporation | Apparatus and method for demand load analysis |
US5946486A (en) * | 1996-12-10 | 1999-08-31 | International Business Machines Corporation | Apparatus and method for tracing entries to or exits from a dynamic link library |
US5884081A (en) * | 1996-12-19 | 1999-03-16 | International Business Machines Corp. | Method and system for synchronizing code with design |
US5918053A (en) * | 1996-12-19 | 1999-06-29 | International Business Machines Corp. | Method and system for diagraming collaborations deduced from small talkcode using a design virtual machine |
US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
US5950009A (en) * | 1997-03-10 | 1999-09-07 | International Business Machines Coporation | Method and apparatus for profile-based reordering of program portions in a computer program |
US6029004A (en) * | 1997-03-17 | 2000-02-22 | International Business Machines Corporation | Method and apparatus for modular reordering of portions of a computer program based on profile data |
US5960201A (en) * | 1997-03-17 | 1999-09-28 | Tritech Microelectronics, Ltd | Numeric intensive development environment |
US5960198A (en) * | 1997-03-19 | 1999-09-28 | International Business Machines Corporation | Software profiler with runtime control to enable and disable instrumented executable |
US6026234A (en) * | 1997-03-19 | 2000-02-15 | International Business Machines Corporation | Method and apparatus for profiling indirect procedure calls in a computer program |
US5933641A (en) * | 1997-03-24 | 1999-08-03 | Tritech Microelectronics International, Ltd. | Numeric intensive real-time software development system |
US5964890A (en) * | 1997-03-27 | 1999-10-12 | Mitsubishi Electric Semiconductor Software Co., Ltd. | System call issue method and debug system |
US6219782B1 (en) * | 1997-04-29 | 2001-04-17 | Microsoft Corporation | Multiple user software debugging system |
US5892941A (en) * | 1997-04-29 | 1999-04-06 | Microsoft Corporation | Multiple user software debugging system |
US5937191A (en) * | 1997-06-03 | 1999-08-10 | Ncr Corporation | Determining and reporting data accessing activity of a program |
US5903759A (en) * | 1997-06-04 | 1999-05-11 | 3 Com Corporation | Software performance analysis using hardware analyzer |
US7975241B2 (en) | 1997-06-25 | 2011-07-05 | Lexos Media, Inc. | System for replacing a cursor image in connection with displaying the contents of a web page |
US20100312656A1 (en) * | 1997-06-25 | 2010-12-09 | Lexos Media, Inc. | System for replacing a cursor image in connection with displaying advertising content |
US20050216866A1 (en) * | 1997-06-25 | 2005-09-29 | Comet Systems, Inc. | System for replacing a cursor image in connection with displaying the contents of a web page |
US7111254B1 (en) * | 1997-06-25 | 2006-09-19 | Comet Systems, Inc. | System for replacing a cursor image in connection with displaying the contents of a web page |
US6077311A (en) * | 1997-07-09 | 2000-06-20 | Silicon Graphics, Inc. | Method and apparatus for extraction of program region |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6202199B1 (en) * | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6237139B1 (en) * | 1997-09-03 | 2001-05-22 | Fujitsu Limited | Object-oriented programming support system |
US5987251A (en) * | 1997-09-03 | 1999-11-16 | Mci Communications Corporation | Automated document checking tool for checking sufficiency of documentation of program instructions |
US20050172271A1 (en) * | 1997-10-29 | 2005-08-04 | Spertus Michael P. | Interactive debugging system with debug data base system |
US6938245B1 (en) * | 1997-10-29 | 2005-08-30 | Veritas Operating Corporation | Interactive debugging system with debug data base system |
US7707555B2 (en) | 1997-10-29 | 2010-04-27 | Symantec Operating Corporation | Interactive debugging system with debug data base system |
US6000044A (en) * | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling instructions in a processor pipeline |
US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
US6237059B1 (en) | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system interactions among contexts in a computer system |
US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
US6092180A (en) * | 1997-11-26 | 2000-07-18 | Digital Equipment Corporation | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
US5809450A (en) * | 1997-11-26 | 1998-09-15 | Digital Equipment Corporation | Method for estimating statistics of properties of instructions processed by a processor pipeline |
US5964867A (en) * | 1997-11-26 | 1999-10-12 | Digital Equipment Corporation | Method for inserting memory prefetch operations based on measured latencies in a program optimizer |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6163840A (en) * | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
US6332178B1 (en) | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
US6070009A (en) * | 1997-11-26 | 2000-05-30 | Digital Equipment Corporation | Method for estimating execution rates of program execution paths |
US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
US6148396A (en) * | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
US6106571A (en) * | 1998-01-29 | 2000-08-22 | Applied Microsystems Corporation | Relocatable instrumentation tags for testing and debugging a computer program |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6317706B1 (en) * | 1998-03-31 | 2001-11-13 | Sony Corporation | Simulation development tool for an embedded system |
US6161216A (en) * | 1998-04-29 | 2000-12-12 | Emc Corporation | Source code debugging tool |
US6434741B1 (en) | 1998-04-30 | 2002-08-13 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code using emulation |
US6263489B1 (en) * | 1998-04-30 | 2001-07-17 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code |
US6164841A (en) * | 1998-05-04 | 2000-12-26 | Hewlett-Packard Company | Method, apparatus, and product for dynamic software code translation system |
US6141635A (en) * | 1998-06-12 | 2000-10-31 | Unisys Corporation | Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program |
US6175955B1 (en) * | 1998-07-31 | 2001-01-16 | Agilent Technologies | Method for retrieving selected data values in a processor using data visibility macros |
US7827483B2 (en) * | 1998-08-28 | 2010-11-02 | Corel Corporation | Real time preview |
US20110029916A1 (en) * | 1998-08-28 | 2011-02-03 | Corel Corporation | Real Time Preview |
US8700996B2 (en) | 1998-08-28 | 2014-04-15 | Corel Corporation | Real time preview |
US9092119B2 (en) | 1998-08-28 | 2015-07-28 | Corel Software LLC | Real time preview |
US6351843B1 (en) | 1998-08-31 | 2002-02-26 | International Business Machines Corporation | Dynamically inserting a function into an application executable at runtime |
US6289503B1 (en) * | 1998-09-24 | 2001-09-11 | International Business Machines Corporation | System and method for trace verification |
US6336170B1 (en) | 1998-10-13 | 2002-01-01 | International Business Machines Corporation | Method and system in a distributed shared-memory data processing system for determining utilization of shared-memory included within nodes by a designated application |
US6862563B1 (en) | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US8386972B2 (en) | 1998-10-14 | 2013-02-26 | Synopsys, Inc. | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US20050149898A1 (en) * | 1998-10-14 | 2005-07-07 | Hakewill James R.H. | Method and apparatus for managing the configuration and functionality of a semiconductor design |
US6874105B2 (en) | 1998-10-30 | 2005-03-29 | International Business Machines Corporation | Operation graph based event monitoring system |
US20020100025A1 (en) * | 1998-10-30 | 2002-07-25 | Thomas Buechner | Operation graph based event monitoring system |
US20030212983A1 (en) * | 1998-12-14 | 2003-11-13 | Tinker Jeffrey L. | Method and system for modifying executable code to add additional functionality |
US6948164B2 (en) | 1998-12-14 | 2005-09-20 | Metrowerks Corporation | Method and system for modifying executable code to add additional functionality |
US6629174B1 (en) * | 1998-12-29 | 2003-09-30 | International Business Machines Corporation | Synchronization using bus arbitration control for system analysis |
US6311326B1 (en) * | 1999-01-04 | 2001-10-30 | Emc Corporation | Online debugging and tracing system and method |
US6526568B1 (en) * | 1999-01-28 | 2003-02-25 | Fujitsu Limited | Method for generating test data for listing program, listing program generation apparatus, and storage medium storing program for generating test data |
US8006204B2 (en) | 1999-02-05 | 2011-08-23 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US20040250231A1 (en) * | 1999-02-05 | 2004-12-09 | Killian Earl A. | Automated processor generation system for designing a configurable processor and method for the same |
US20080244471A1 (en) * | 1999-02-05 | 2008-10-02 | Killian Earl A | System and method of customizing an existing processor design having an existing processor instruction set architecture with instruction extensions |
US6477683B1 (en) * | 1999-02-05 | 2002-11-05 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US20080244506A1 (en) * | 1999-02-05 | 2008-10-02 | Killian Earl A | System and method of designing instruction extensions to supplement an existing processor instruction set architecture |
US20060259878A1 (en) * | 1999-02-05 | 2006-11-16 | Killian Earl A | Automated processor generation system for designing a configurable processor and method for the same |
US6760888B2 (en) | 1999-02-05 | 2004-07-06 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US8875068B2 (en) | 1999-02-05 | 2014-10-28 | Cadence Design Systems, Inc. | System and method of customizing an existing processor design having an existing processor instruction set architecture with instruction extensions |
US8924898B2 (en) | 1999-02-05 | 2014-12-30 | Cadence Design Systems, Inc. | System and method of designing instruction extensions to supplement an existing processor instruction set architecture |
US7020854B2 (en) | 1999-02-05 | 2006-03-28 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US6430741B1 (en) * | 1999-02-26 | 2002-08-06 | Hewlett-Packard Company | System and method for data coverage analysis of a computer program |
US6526567B1 (en) * | 1999-03-24 | 2003-02-25 | International Business Machines Corporation | System and method for optimizing a device driver by incorporating debugging and tracing |
US6622300B1 (en) * | 1999-04-21 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Dynamic optimization of computer programs using code-rewriting kernal module |
FR2793328A1 (en) * | 1999-05-07 | 2000-11-10 | Thomson Multimedia Sa | Aid to detection of operating faults in digital equipment, particularly digital television, digital audio and video recording and digital disc recording |
US20030212963A1 (en) * | 1999-05-13 | 2003-11-13 | Hakewill James Robert Howard | Method and apparatus for jump control in a pipelined processor |
US7171631B2 (en) | 1999-05-13 | 2007-01-30 | Arc International | Method and apparatus for jump control in a pipelined processor |
US6681374B1 (en) | 1999-06-09 | 2004-01-20 | Lucent Technologies Inc. | Hit-or-jump method and system for embedded testing |
US7032213B1 (en) * | 1999-09-01 | 2006-04-18 | Microsoft Corporation | Fixing incompatible applications using a light debugger |
US6961930B1 (en) | 1999-09-22 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Efficient, transparent and flexible latency sampling |
US6675374B2 (en) | 1999-10-12 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Insertion of prefetch instructions into computer program code |
US6701460B1 (en) * | 1999-10-21 | 2004-03-02 | Sun Microsystems, Inc. | Method and apparatus for testing a computer system through software fault injection |
US6951011B1 (en) * | 1999-10-21 | 2005-09-27 | Oracle International Corp. | Diagnostic method and article for identifying significant events |
US6973417B1 (en) | 1999-11-05 | 2005-12-06 | Metrowerks Corporation | Method and system for simulating execution of a target program in a simulated target system |
US20110047496A1 (en) * | 1999-11-24 | 2011-02-24 | Quest Software, Inc. | Systems and methods for monitoring a computing environment |
US7784027B2 (en) | 1999-11-24 | 2010-08-24 | Quest Software, Inc. | Systems and methods for monitoring a computing environment |
US8181154B2 (en) | 1999-11-24 | 2012-05-15 | Quest Software, Inc. | Systems and methods for monitoring a computing environment |
US6901582B1 (en) | 1999-11-24 | 2005-05-31 | Quest Software, Inc. | Monitoring system for monitoring the performance of an application |
US20050193376A1 (en) * | 1999-11-24 | 2005-09-01 | Guy Harrison | Systems and methods for monitoring a computing environment |
US8555244B2 (en) | 1999-11-24 | 2013-10-08 | Dell Software Inc. | Systems and methods for monitoring a computing environment |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US7296261B2 (en) | 1999-12-29 | 2007-11-13 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
US6804814B1 (en) | 1999-12-29 | 2004-10-12 | Veritas Operating Corporation | Method for simulating back program execution from a traceback sequence |
US20040221270A1 (en) * | 1999-12-29 | 2004-11-04 | Emmett Witchel | Method for determining the degree to which changed code has been exercised |
US20040220774A1 (en) * | 1999-12-29 | 2004-11-04 | Anant Agarwal | Early warning mechanism for enhancing enterprise availability |
US6748584B1 (en) * | 1999-12-29 | 2004-06-08 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
US6745383B1 (en) | 1999-12-29 | 2004-06-01 | Veritas Operating Corporation | Early warning mechanism for enhancing enterprise availability |
US7823134B2 (en) | 1999-12-29 | 2010-10-26 | Symantec Operating Corporation | Early warning mechanism for enhancing enterprise availability |
US6754888B1 (en) * | 1999-12-30 | 2004-06-22 | International Business Machines Corporation | Facility for evaluating a program for debugging upon detection of a debug trigger point |
US20060206875A1 (en) * | 2000-02-03 | 2006-09-14 | Lorin Ullmann | Stack unique signatures for program procedures and methods |
US7873954B2 (en) * | 2000-02-03 | 2011-01-18 | International Business Machines Corporation | Stack unique signatures for program procedures and methods |
US20070100585A1 (en) * | 2000-02-14 | 2007-05-03 | Nextnine Ltd. | Support Network |
US7409318B2 (en) | 2000-02-14 | 2008-08-05 | Nextnine Ltd. | Support network |
US7076400B2 (en) | 2000-02-14 | 2006-07-11 | Nextnine Ltd. | Support network |
WO2001059971A2 (en) * | 2000-02-14 | 2001-08-16 | Nextnine Ltd. | Embedded device monitoring agent |
WO2001059971A3 (en) * | 2000-02-14 | 2002-01-17 | Nextnine Ltd | Embedded device monitoring agent |
US20030005107A1 (en) * | 2000-02-14 | 2003-01-02 | Adi Dulberg | Support network |
US20060161394A1 (en) * | 2000-02-14 | 2006-07-20 | Nextnine, Inc. | Support network |
US20100088683A1 (en) * | 2000-03-03 | 2010-04-08 | Identify Software, Ltd. | System and method for software diagnostics using a combination of visual and dynamic tracing |
US8504994B2 (en) | 2000-03-03 | 2013-08-06 | Identify Software, Ltd. | System and method for software diagnostics using a combination of visual and dynamic tracing |
US9418042B2 (en) | 2000-03-10 | 2016-08-16 | Synopsys, Inc. | Memory interface and method of interfacing between functional entities |
US8959269B2 (en) | 2000-03-10 | 2015-02-17 | Synopsys, Inc. | Memory interface and method of interfacing between functional entities |
US8688879B2 (en) | 2000-03-10 | 2014-04-01 | Synopsys, Inc. | Memory interface and method of interfacing between functional entities |
US20090055565A1 (en) * | 2000-03-10 | 2009-02-26 | David Latta | Memory interface and method of interfacing between functional entities |
US6658652B1 (en) | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
US7240334B1 (en) * | 2000-06-29 | 2007-07-03 | International Business Machines Corporation | Methods, systems, and computer program products for deferred computer program tracing |
US8117599B2 (en) | 2000-07-06 | 2012-02-14 | International Business Machines Corporation | Tracing profiling information using per thread metric variables with reused kernel threads |
US7389497B1 (en) | 2000-07-06 | 2008-06-17 | International Business Machines Corporation | Method and system for tracing profiling information using per thread metric variables with reused kernel threads |
US6904594B1 (en) | 2000-07-06 | 2005-06-07 | International Business Machines Corporation | Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment |
US20090007075A1 (en) * | 2000-07-06 | 2009-01-01 | International Business Machines Corporation | Method and System for Tracing Profiling Information Using Per Thread Metric Variables with Reused Kernel Threads |
US6735758B1 (en) | 2000-07-06 | 2004-05-11 | International Business Machines Corporation | Method and system for SMP profiling using synchronized or nonsynchronized metric variables with support across multiple systems |
US6988263B1 (en) * | 2000-07-10 | 2006-01-17 | International Business Machines Corporation | Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs |
US6662359B1 (en) | 2000-07-20 | 2003-12-09 | International Business Machines Corporation | System and method for injecting hooks into Java classes to handle exception and finalization processing |
US6742178B1 (en) | 2000-07-20 | 2004-05-25 | International Business Machines Corporation | System and method for instrumenting application class files with correlation information to the instrumentation |
US20020073400A1 (en) * | 2000-07-26 | 2002-06-13 | Michael Beuten | Method for monitoring a program execution using a debug logic |
US7712084B2 (en) * | 2000-07-26 | 2010-05-04 | Robert Bosch Gmbh | Method for monitoring a program execution using a debug logic |
US6701518B1 (en) * | 2000-08-03 | 2004-03-02 | Hewlett-Packard Development Company, L.P. | System and method for enabling efficient processing of a program that includes assertion instructions |
US6986127B1 (en) * | 2000-10-03 | 2006-01-10 | Tensilica, Inc. | Debugging apparatus and method for systems of configurable processors |
US6772411B2 (en) * | 2000-12-01 | 2004-08-03 | Bmc Software, Inc. | Software performance and management system |
US20020129035A1 (en) * | 2000-12-01 | 2002-09-12 | Hayes Scott R. | Software performance and management system |
US20060242627A1 (en) * | 2000-12-26 | 2006-10-26 | Shlomo Wygodny | System and method for conditional tracing of computer programs |
US8312435B2 (en) | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
WO2002056173A1 (en) * | 2001-01-10 | 2002-07-18 | Desoc Technology Inc. | Methods and apparatus for deep embedded software development |
US20020104074A1 (en) * | 2001-01-26 | 2002-08-01 | Robert Hundt | Providing debugging capability for program instrumented code |
US6957421B2 (en) * | 2001-01-26 | 2005-10-18 | Hewlett-Packard Development Company, L.P. | Providing debugging capability for program instrumented code |
US6772372B2 (en) | 2001-03-06 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | System and method for monitoring unaligned memory accesses |
US6694457B2 (en) | 2001-03-06 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | System and method for monitoring execution of privileged instructions |
US20020152455A1 (en) * | 2001-04-11 | 2002-10-17 | Robert Hundt | Dynamic instrumentation of an executable program |
US6918110B2 (en) * | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
US20020184615A1 (en) * | 2001-04-25 | 2002-12-05 | Sumner William Earl | System and method for selectively and automatically modifying the source code of a computer program |
US6883162B2 (en) * | 2001-06-06 | 2005-04-19 | Sun Microsystems, Inc. | Annotations for transaction tracing |
US20020188831A1 (en) * | 2001-06-06 | 2002-12-12 | Jackson Christopher J. | Annotations for transaction tracing |
US20030093772A1 (en) * | 2001-06-12 | 2003-05-15 | Stephenson David Arthur | Method and system for instrumenting a software program and collecting data from the instrumented software program |
US7111282B2 (en) * | 2001-06-12 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Instrumenting a software program and collecting data from the instrumented software program by type |
US6745348B2 (en) | 2001-06-14 | 2004-06-01 | International Business Machines Corporation | Method for estimating number of internationalization faults in software code |
US20030005417A1 (en) * | 2001-06-29 | 2003-01-02 | Gard James J. | Debugger for a hardware-implemented operating system |
US7823131B2 (en) * | 2001-06-29 | 2010-10-26 | Mentor Graphics Corporation | Debugger for a hardware-implemented operating system |
US20030028859A1 (en) * | 2001-07-31 | 2003-02-06 | Nigel Street | Method of collecting, visualizing and analyzing object interaction |
US20030037314A1 (en) * | 2001-08-01 | 2003-02-20 | International Business Machines Corporation | Method and apparatus for testing and evaluating a software component using an abstraction matrix |
US6986125B2 (en) | 2001-08-01 | 2006-01-10 | International Business Machines Corporation | Method and apparatus for testing and evaluating a software component using an abstraction matrix |
US6795879B2 (en) * | 2001-08-08 | 2004-09-21 | Texas Instruments Incorporated | Apparatus and method for wait state analysis in a digital signal processing system |
US20030046614A1 (en) * | 2001-08-31 | 2003-03-06 | Brokish Charles W. | System and method for using embedded real-time analysis components |
US7191445B2 (en) * | 2001-08-31 | 2007-03-13 | Texas Instruments Incorporated | Method using embedded real-time analysis components with corresponding real-time operating system software objects |
US20030056151A1 (en) * | 2001-09-19 | 2003-03-20 | Nec Corporation | Software evaluation system, software evaluation apparatus, software evaluation method, recording medium, and computer data signal |
US7210123B2 (en) * | 2001-09-19 | 2007-04-24 | Nec Corporation | Software evaluation system having source code and function unit identification information in stored administration information |
US7526685B2 (en) | 2001-09-25 | 2009-04-28 | Path Reliability, Inc. | Application manager for monitoring and recovery of software based application processes |
US20060253745A1 (en) * | 2001-09-25 | 2006-11-09 | Path Reliability Inc. | Application manager for monitoring and recovery of software based application processes |
US7272832B2 (en) | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
US20030101322A1 (en) * | 2001-10-25 | 2003-05-29 | Gardner Robert D. | Protection of user process data in a secure platform architecture |
US7243340B2 (en) * | 2001-11-15 | 2007-07-10 | Pace Anti-Piracy | Method and system for obfuscation of computer program execution flow to increase computer program security |
US20030093685A1 (en) * | 2001-11-15 | 2003-05-15 | Tobin John P.E. | Method and system for obfuscation of computer program execution flow to increase computer program security |
US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
US7281241B2 (en) * | 2002-01-15 | 2007-10-09 | Cadence Design (Israel) Ii Ltd. | System and method for visual debugging of constraint systems |
US20030140292A1 (en) * | 2002-01-15 | 2003-07-24 | Eyal Benoudiz | System and method for visual debugging of constraint systems |
US7475000B2 (en) | 2002-04-25 | 2009-01-06 | Arc International, Plc | Apparatus and method for managing integrated circuit designs |
US20030229482A1 (en) * | 2002-04-25 | 2003-12-11 | Cook Stephen Anthony | Apparatus and method for managing integrated circuit designs |
US20030217355A1 (en) * | 2002-05-16 | 2003-11-20 | International Business Machines Corporation | System and method of implementing a virtual data modification breakpoint register |
US7290089B2 (en) | 2002-10-15 | 2007-10-30 | Stmicroelectronics, Inc. | Executing cache instructions in an increased latency mode |
US7603664B2 (en) * | 2002-10-22 | 2009-10-13 | Sun Microsystems, Inc. | System and method for marking software code |
US20040078785A1 (en) * | 2002-10-22 | 2004-04-22 | Bala Dutt | System and method for marking software code |
US20080244534A1 (en) * | 2002-11-06 | 2008-10-02 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US20040088699A1 (en) * | 2002-11-06 | 2004-05-06 | Charles Suresh | System and method for measuring code segment performance |
US7143396B2 (en) * | 2002-11-06 | 2006-11-28 | Sun Microsystems, Inc. | System and method for measuring code segment performance |
US8762958B2 (en) | 2002-11-06 | 2014-06-24 | Identify Software, Ltd. | System and method for troubleshooting software configuration problems using application tracing |
US10073760B2 (en) | 2002-11-06 | 2018-09-11 | Indentify Software Ltd. (IL) | System and method for troubleshooting software configuration problems using application tracing |
US20040117771A1 (en) * | 2002-12-12 | 2004-06-17 | Microsoft Corporation | Preprocessor-based source code instrumentation |
US7484205B2 (en) * | 2002-12-12 | 2009-01-27 | Microsoft Corporation | Preprocessor-based source code instrumentation |
US20040148152A1 (en) * | 2003-01-17 | 2004-07-29 | Nec Corporation | System performance prediction mechanism and method based on software component performance measurements |
US7376549B2 (en) * | 2003-01-17 | 2008-05-20 | Nec Corporation | System performance prediction mechanism and method based on software component performance measurements |
US20040163079A1 (en) * | 2003-02-13 | 2004-08-19 | Path Communications, Inc. | Software behavior pattern recognition and analysis |
US7269824B2 (en) * | 2003-02-13 | 2007-09-11 | Path Reliability, Inc. | Software behavior pattern recognition and analysis |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US20040199828A1 (en) * | 2003-04-01 | 2004-10-07 | International Business Machines Corporation | Method and apparatus for tracing troubleshooting events for aiding technical assistance |
US20040230806A1 (en) * | 2003-05-14 | 2004-11-18 | International Business Machines Corporation | Digital content control including digital rights management (DRM) through dynamic instrumentation |
US20040250176A1 (en) * | 2003-06-03 | 2004-12-09 | Brown Christopher W. | Generating a status report from source code |
US20050049843A1 (en) * | 2003-08-29 | 2005-03-03 | Lee Hewitt | Computerized extension apparatus and methods |
US20050071815A1 (en) * | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | Method and system for inspecting the runtime behavior of a program while minimizing perturbation |
US7178131B2 (en) * | 2003-09-29 | 2007-02-13 | International Business Machines Corporation | Inspecting the runtime behavior of a program while minimizing perturbation |
US7873715B1 (en) | 2003-12-18 | 2011-01-18 | Precise Software Solutions, Inc. | Optimized instrumentation of web pages for performance management |
US20050144588A1 (en) * | 2003-12-30 | 2005-06-30 | Intel Corporation | System and method for embedded processor firmware development |
US8788527B1 (en) | 2003-12-31 | 2014-07-22 | Precise Software Solutions, Inc. | Object-level database performance management |
US20050203955A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Method and system for analyzing interaction among software artifacts |
US7533364B2 (en) * | 2004-03-15 | 2009-05-12 | Ramco Systems Limited | Method and system for analyzing interaction among software artifacts |
US20050273559A1 (en) * | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
US8719837B2 (en) | 2004-05-19 | 2014-05-06 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
US9003422B2 (en) | 2004-05-19 | 2015-04-07 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
US7178076B1 (en) | 2004-06-16 | 2007-02-13 | Sun Microsystems, Inc. | Architecture of an efficient at-speed programmable memory built-in self test |
US7260759B1 (en) | 2004-06-16 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors |
US7293199B1 (en) | 2004-06-22 | 2007-11-06 | Sun Microsystems, Inc. | Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US7206979B1 (en) | 2004-06-28 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for at-speed diagnostics of embedded memories |
US20060005080A1 (en) * | 2004-07-02 | 2006-01-05 | Seagate Technology Llc | Event logging and analysis in a software system |
US7546488B2 (en) * | 2004-07-02 | 2009-06-09 | Seagate Technology Llc | Event logging and analysis in a software system |
US7653899B1 (en) | 2004-07-23 | 2010-01-26 | Green Hills Software, Inc. | Post-execution software debugger with performance display |
US8914777B2 (en) | 2004-07-23 | 2014-12-16 | Green Hills Software | Forward post-execution software debugger |
US8136096B1 (en) | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
US8584097B2 (en) | 2004-07-23 | 2013-11-12 | Green Hills Software, Inc. | Post-execution software debugger with event display |
US8789023B2 (en) | 2004-07-23 | 2014-07-22 | Green Hills Software, Inc. | Backward post-execution software debugger |
US8015552B1 (en) | 2004-07-23 | 2011-09-06 | Green Hills Software, Inc. | Post-execution software debugger with coverage display |
US8271955B1 (en) | 2004-07-23 | 2012-09-18 | Green Hille Software, Inc. | Forward post-execution software debugger |
US20060048011A1 (en) * | 2004-08-26 | 2006-03-02 | International Business Machines Corporation | Performance profiling of microprocessor systems using debug hardware and performance monitor |
US7849183B1 (en) | 2004-08-31 | 2010-12-07 | Precise Software Solutions, Inc. | Method of monitoring network and application performance by analyzing web clients and web servers |
US8438276B1 (en) | 2004-08-31 | 2013-05-07 | Precise Software Solutions, Inc. | Method of monitoring network and application performance by analyzing web clients and web servers |
US20090083525A1 (en) * | 2004-09-30 | 2009-03-26 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US9250897B2 (en) | 2004-09-30 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US8365145B2 (en) | 2004-09-30 | 2013-01-29 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US20090083698A1 (en) * | 2004-09-30 | 2009-03-26 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US7519959B1 (en) * | 2004-11-12 | 2009-04-14 | Sun Microsystems, Inc. | Hybrid profiling technique |
US20060130041A1 (en) * | 2004-12-09 | 2006-06-15 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
US8082541B2 (en) * | 2004-12-09 | 2011-12-20 | Advantest Corporation | Method and system for performing installation and configuration management of tester instrument modules |
US8185868B1 (en) | 2004-12-20 | 2012-05-22 | The Mathworks, Inc. | System and method for cell-based code editing and publishing |
US9378118B2 (en) | 2005-01-07 | 2016-06-28 | Ca, Inc. | Graphical model for test case viewing, editing, and reporting |
US9417990B2 (en) | 2005-01-07 | 2016-08-16 | Ca, Inc. | Graphical model for test case viewing, editing, and reporting |
US10303581B2 (en) | 2005-01-07 | 2019-05-28 | Ca, Inc. | Graphical transaction model |
US8146057B1 (en) | 2005-01-07 | 2012-03-27 | Interactive TKO, Inc. | Instrumentation system and method for testing software |
US9563546B2 (en) | 2005-01-07 | 2017-02-07 | Ca, Inc. | Instrumentation system and method for testing software |
US20060161869A1 (en) * | 2005-01-14 | 2006-07-20 | Microsoft Corporation | Multi-focus tree control |
US7607047B2 (en) * | 2005-05-16 | 2009-10-20 | Texas Instruments Incorporated | Method and system of identifying overlays |
US7590892B2 (en) * | 2005-05-16 | 2009-09-15 | Texas Instruments Incorporated | Method and system of profiling real-time streaming channels |
US20060259826A1 (en) * | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Method and system of identifying overlays |
US20070006173A1 (en) * | 2005-05-16 | 2007-01-04 | Texas Instruments Incorporated | Method and system of profiling real-time streaming channels |
US7921429B2 (en) | 2005-06-09 | 2011-04-05 | Whirlpool Corporation | Data acquisition method with event notification for an appliance |
US20080137670A1 (en) * | 2005-06-09 | 2008-06-12 | Whirlpool Corporation | Network System with Message Binding for Appliances |
US20080287121A1 (en) * | 2005-06-09 | 2008-11-20 | Whirlpool Corporation | Method and Apparatus for Remote Service of an Appliance |
US20070240173A1 (en) * | 2005-06-09 | 2007-10-11 | Whirlpool Corporation | Data acquisition engine and system for an appliance |
US8040234B2 (en) | 2005-06-09 | 2011-10-18 | Whirlpool Corporation | Method and apparatus for remote service of an appliance |
US7813831B2 (en) | 2005-06-09 | 2010-10-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance in multiple operating modes |
US20070162158A1 (en) * | 2005-06-09 | 2007-07-12 | Whirlpool Corporation | Software architecture system and method for operating an appliance utilizing configurable notification messages |
US7917914B2 (en) | 2005-06-09 | 2011-03-29 | Whirlpool Corporation | Event notification system for an appliance |
US20070156864A1 (en) * | 2005-06-09 | 2007-07-05 | Whirlpool Corporation | Software architecture system and method for operating an appliance in multiple operating modes |
US20070156882A1 (en) * | 2005-06-09 | 2007-07-05 | Whirlpool Corporation | Data acquisition engine and system for an appliance |
US7971042B2 (en) | 2005-09-28 | 2011-06-28 | Synopsys, Inc. | Microprocessor system and method for instruction-initiated recording and execution of instruction sequences in a dynamically decoupleable extended instruction pipeline |
US7774760B2 (en) * | 2005-12-23 | 2010-08-10 | Microsoft Corporation | Tracing errors in software |
US20070234305A1 (en) * | 2005-12-23 | 2007-10-04 | Microsoft Corporation | Tracing errors in software |
US9286184B1 (en) * | 2006-01-23 | 2016-03-15 | Hewlett-Packard Development Company, L.P. | Probabilistic correlation of system events with program instructions |
US20070240115A1 (en) * | 2006-03-31 | 2007-10-11 | Microsoft Corporation | Debugging in an operating system with multiple subsystems |
US8104019B2 (en) * | 2006-03-31 | 2012-01-24 | Microsoft Corporation | Debugging in an operating system with multiple subsystems |
US8175862B1 (en) | 2006-05-17 | 2012-05-08 | Quest Software, Inc. | Model-based systems and methods for monitoring resources |
US8892415B2 (en) | 2006-05-17 | 2014-11-18 | Dell Software Inc. | Model-based systems and methods for monitoring resources |
US7979245B1 (en) | 2006-05-17 | 2011-07-12 | Quest Software, Inc. | Model-based systems and methods for monitoring computing resource performance |
US7900198B2 (en) * | 2006-10-02 | 2011-03-01 | Wind River Systems, Inc. | Method and system for parameter profile compiling |
US20080082967A1 (en) * | 2006-10-02 | 2008-04-03 | Bulent Kasman | Method and system for parameter profile compiling |
US8185598B1 (en) | 2006-11-03 | 2012-05-22 | Quest Software, Inc. | Systems and methods for monitoring messaging systems |
US9003166B2 (en) | 2006-12-01 | 2015-04-07 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
US9690630B2 (en) | 2006-12-01 | 2017-06-27 | Synopsys, Inc. | Hardware accelerator test harness generation |
US8762956B1 (en) * | 2007-01-31 | 2014-06-24 | The Mathworks, Inc. | Generating a report document from code |
US7707459B2 (en) | 2007-03-08 | 2010-04-27 | Whirlpool Corporation | Embedded systems debugging |
US8490073B2 (en) * | 2007-03-30 | 2013-07-16 | International Business Machines Corporation | Controlling tracing within compiled code |
US20080244530A1 (en) * | 2007-03-30 | 2008-10-02 | International Business Machines Corporation | Controlling tracing within compiled code |
US8028277B2 (en) * | 2007-05-21 | 2011-09-27 | International Business Machines Corporation | Self-healing system and method for code optimization in a computing environment |
US20080294942A1 (en) * | 2007-05-21 | 2008-11-27 | David Breitgand | Self-healing system and method |
US20090119653A1 (en) * | 2007-11-02 | 2009-05-07 | Paul Kettley | Instrumenting a compiled software routine for augmentation |
US8347278B2 (en) * | 2007-11-02 | 2013-01-01 | International Business Machines Corporation | Instrumenting a compiled software routine for augmentation |
US8364460B2 (en) | 2008-02-13 | 2013-01-29 | Quest Software, Inc. | Systems and methods for analyzing performance of virtual environments |
US9275172B2 (en) | 2008-02-13 | 2016-03-01 | Dell Software Inc. | Systems and methods for analyzing performance of virtual environments |
US8175863B1 (en) | 2008-02-13 | 2012-05-08 | Quest Software, Inc. | Systems and methods for analyzing performance of virtual environments |
US20090307532A1 (en) * | 2008-06-04 | 2009-12-10 | Jason Neal Raber | Stealthy debugger |
US10410117B2 (en) | 2008-09-21 | 2019-09-10 | Brainchip, Inc. | Method and a system for creating dynamic neural function libraries |
US11238342B2 (en) | 2008-09-21 | 2022-02-01 | Brainchip, Inc. | Method and a system for creating dynamic neural function libraries |
US10146663B2 (en) | 2008-09-30 | 2018-12-04 | Ca, Inc. | Modeling and testing interactions between components of a software system |
US20150205702A1 (en) * | 2008-09-30 | 2015-07-23 | Interactive TKO, Inc | Service modeling and virtualization |
US10565086B2 (en) * | 2008-09-30 | 2020-02-18 | Ca, Inc. | Service modeling and virtualization |
US20100153927A1 (en) * | 2008-12-16 | 2010-06-17 | Microsoft Corporation | Transforming user script code for debugging |
US9632909B2 (en) * | 2008-12-16 | 2017-04-25 | Microsoft Technology Licensing, Llc | Transforming user script code for debugging |
US20110153435A1 (en) * | 2009-09-17 | 2011-06-23 | Lexos Media Inc. | System and method of cursor-based content delivery |
US20140082592A1 (en) * | 2009-09-30 | 2014-03-20 | Microsoft Corporation | Marker correlation of application constructs with visualizations |
US9047180B2 (en) * | 2009-11-13 | 2015-06-02 | Samsung Electronics Co., Ltd. | Computing system, method and computer-readable medium processing debug information in computing system |
US20110119656A1 (en) * | 2009-11-13 | 2011-05-19 | Samsung Electronics Co., Ltd. | Computing system, method and computer-readable medium processing debug information in computing system |
US10521322B2 (en) | 2010-10-26 | 2019-12-31 | Ca, Inc. | Modeling and testing of interactions between components of a software system |
US9235490B2 (en) | 2010-10-26 | 2016-01-12 | Ca, Inc. | Modeling and testing of interactions between components of a software system |
US9454450B2 (en) | 2010-10-26 | 2016-09-27 | Ca, Inc. | Modeling and testing of interactions between components of a software system |
US8984490B1 (en) | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US9122803B1 (en) | 2010-10-26 | 2015-09-01 | Interactive TKO, Inc. | Collaborative software defect detection |
US8966454B1 (en) | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20120144367A1 (en) * | 2010-12-06 | 2012-06-07 | Microsoft Corporation | Events fired pre- and post-method execution |
US9215142B1 (en) | 2011-04-20 | 2015-12-15 | Dell Software Inc. | Community analysis of computing performance |
US9110496B1 (en) | 2011-06-07 | 2015-08-18 | Interactive TKO, Inc. | Dynamic provisioning of a virtual test environment |
CN102495793B (en) * | 2011-11-11 | 2014-11-05 | 迈普通信技术股份有限公司 | Method for detecting endless loop task |
CN102495793A (en) * | 2011-11-11 | 2012-06-13 | 迈普通信技术股份有限公司 | Method for detecting endless loop task |
CN103164332A (en) * | 2011-12-15 | 2013-06-19 | 迈普通信技术股份有限公司 | Detection and processing method of endless loop task |
US20130275948A1 (en) * | 2012-04-17 | 2013-10-17 | International Business Machines Corporation | Compiling Source Code For Debugging With Expanded Snapshots |
US8910126B2 (en) | 2012-04-18 | 2014-12-09 | International Business Machines Corporation | Compiling source code for debugging with variable value restoration based on debugging user activity |
US10333820B1 (en) | 2012-10-23 | 2019-06-25 | Quest Software Inc. | System for inferring dependencies among computing systems |
US9557879B1 (en) | 2012-10-23 | 2017-01-31 | Dell Software Inc. | System for inferring dependencies among computing systems |
US20160134494A1 (en) * | 2013-02-07 | 2016-05-12 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US20160119208A1 (en) * | 2013-02-07 | 2016-04-28 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US10212054B2 (en) * | 2013-02-07 | 2019-02-19 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US10218587B2 (en) * | 2013-02-07 | 2019-02-26 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US9276829B2 (en) * | 2013-02-07 | 2016-03-01 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US20140223000A1 (en) * | 2013-02-07 | 2014-08-07 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US9282013B2 (en) * | 2013-02-07 | 2016-03-08 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US20140222994A1 (en) * | 2013-02-07 | 2014-08-07 | International Business Machines Corporation | Transparently tracking provenance information in distributed data systems |
US20150067661A1 (en) * | 2013-09-03 | 2015-03-05 | Atmel Corporation | Software code profiling |
US9182958B2 (en) * | 2013-09-03 | 2015-11-10 | Atmel Corporation | Software code profiling |
US9547581B2 (en) * | 2013-10-01 | 2017-01-17 | Wipro Limited | Systems and methods for fixing software defects in a binary or executable file |
US20150095887A1 (en) * | 2013-10-01 | 2015-04-02 | Wipro Limited | Systems and methods for fixing software defects in a binary or executable file |
US10025839B2 (en) | 2013-11-29 | 2018-07-17 | Ca, Inc. | Database virtualization |
US9727314B2 (en) | 2014-03-21 | 2017-08-08 | Ca, Inc. | Composite virtual services |
US9531609B2 (en) | 2014-03-23 | 2016-12-27 | Ca, Inc. | Virtual service automation |
US11005738B1 (en) | 2014-04-09 | 2021-05-11 | Quest Software Inc. | System and method for end-to-end response-time analysis |
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US9384334B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content discovery in managed wireless distribution networks |
US9430667B2 (en) | 2014-05-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Managed wireless distribution network |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US9703681B2 (en) | 2014-05-29 | 2017-07-11 | Microsoft Technology Licensing, Llc | Performance optimization tip presentation during debugging |
US9479414B1 (en) | 2014-05-30 | 2016-10-25 | Dell Software Inc. | System and method for analyzing computing performance |
US10691445B2 (en) | 2014-06-03 | 2020-06-23 | Microsoft Technology Licensing, Llc | Isolating a portion of an online computing service for testing |
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9477625B2 (en) | 2014-06-13 | 2016-10-25 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9250900B1 (en) | 2014-10-01 | 2016-02-02 | Cadence Design Systems, Inc. | Method, system, and computer program product for implementing a microprocessor with a customizable register file bypass network |
US10380003B2 (en) | 2014-10-29 | 2019-08-13 | Microsoft Technology Licensing, Llc | Diagnostic workflow for production debugging |
US9632915B2 (en) | 2014-10-29 | 2017-04-25 | Microsoft Technology Licensing, Llc. | Historical control flow visualization in production diagnostics |
US10291493B1 (en) | 2014-12-05 | 2019-05-14 | Quest Software Inc. | System and method for determining relevant computer performance events |
US9274758B1 (en) | 2015-01-28 | 2016-03-01 | Dell Software Inc. | System and method for creating customized performance-monitoring applications |
US9996577B1 (en) | 2015-02-11 | 2018-06-12 | Quest Software Inc. | Systems and methods for graphically filtering code call trees |
US10187260B1 (en) | 2015-05-29 | 2019-01-22 | Quest Software Inc. | Systems and methods for multilayer monitoring of network function virtualization architectures |
US10296445B2 (en) | 2015-09-13 | 2019-05-21 | Ca, Inc. | Automated system documentation generation |
US10200252B1 (en) | 2015-09-18 | 2019-02-05 | Quest Software Inc. | Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems |
US9857998B2 (en) * | 2015-10-13 | 2018-01-02 | International Business Machines Corporation | Backup storage of vital debug information |
US9678682B2 (en) | 2015-10-13 | 2017-06-13 | International Business Machines Corporation | Backup storage of vital debug information |
US20170102889A1 (en) * | 2015-10-13 | 2017-04-13 | International Business Machines Corporation | Backup storage of vital debug information |
US10628420B2 (en) | 2015-12-18 | 2020-04-21 | Ca, Inc. | Dynamic virtual service |
US10154098B2 (en) | 2016-01-07 | 2018-12-11 | Ca, Inc. | Transactional boundaries for software system profiling |
US9886365B2 (en) | 2016-01-07 | 2018-02-06 | Ca, Inc. | Transactional boundaries for software system debugging |
US9983856B2 (en) | 2016-01-08 | 2018-05-29 | Ca, Inc. | Transaction flow visualization |
US10621068B2 (en) * | 2016-03-07 | 2020-04-14 | Revdebug.Com Sp. Z O.O. | Software code debugger for quick detection of error root causes |
US9898390B2 (en) | 2016-03-30 | 2018-02-20 | Ca, Inc. | Virtual service localization |
US9946639B2 (en) | 2016-03-30 | 2018-04-17 | Ca, Inc. | Transactional boundaries for virtualization within a software system |
US10341214B2 (en) | 2016-03-30 | 2019-07-02 | Ca, Inc. | Scenario coverage in test generation |
US10114736B2 (en) | 2016-03-30 | 2018-10-30 | Ca, Inc. | Virtual service data set generation |
US10394583B2 (en) | 2016-03-31 | 2019-08-27 | Ca, Inc. | Automated model generation for a software system |
US10185613B2 (en) * | 2016-04-29 | 2019-01-22 | Vmware, Inc. | Error determination from logs |
US10230601B1 (en) | 2016-07-05 | 2019-03-12 | Quest Software Inc. | Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems |
US10977159B2 (en) * | 2017-06-09 | 2021-04-13 | Microsoft Technology Licensing, Llc | Instrumentation of user actions in software applications |
US10846211B2 (en) * | 2018-03-21 | 2020-11-24 | Microsoft Technology Licensing, Llc | Testing kernel mode computer code by executing the computer code in user mode |
US11822468B2 (en) | 2019-05-24 | 2023-11-21 | Microsoft Technology Licensing, Llc | Executable code branch annotations for objective branch verification |
US10915426B2 (en) * | 2019-06-06 | 2021-02-09 | International Business Machines Corporation | Intercepting and recording calls to a module in real-time |
US10929126B2 (en) | 2019-06-06 | 2021-02-23 | International Business Machines Corporation | Intercepting and replaying interactions with transactional and database environments |
US11016762B2 (en) | 2019-06-06 | 2021-05-25 | International Business Machines Corporation | Determining caller of a module in real-time |
US11036619B2 (en) | 2019-06-06 | 2021-06-15 | International Business Machines Corporation | Bypassing execution of a module in real-time |
US11074069B2 (en) | 2019-06-06 | 2021-07-27 | International Business Machines Corporation | Replaying interactions with transactional and database environments with re-arrangement |
Also Published As
Publication number | Publication date |
---|---|
EP0567722B1 (en) | 2001-08-08 |
EP0567722A2 (en) | 1993-11-03 |
DE69330537T2 (en) | 2002-04-18 |
DE69330537D1 (en) | 2001-09-13 |
EP0567722A3 (en) | 1997-03-05 |
JPH0689200A (en) | 1994-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5450586A (en) | System for analyzing and debugging embedded software through dynamic and interactive use of code markers | |
US5265254A (en) | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation | |
JP4138021B2 (en) | Processor-based device, method for providing software performance profiling information, and software development system for generating and analyzing software performance profiling information | |
US6223144B1 (en) | Method and apparatus for evaluating software programs for semiconductor circuits | |
EP0974094B1 (en) | Trace cache for a microprocessor-based device | |
US6009270A (en) | Trace synchronization in a processor | |
EP1130518B1 (en) | Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof | |
JPH09218800A (en) | Method and device for analyzing software executed in incorporation system | |
EP1184790B1 (en) | Trace cache for a microprocessor-based device | |
CN115905012A (en) | Debugging analysis system and method in embedded system software development scene, electronic device and storage medium | |
Li et al. | A readback based general debugging framework for soft-core processors | |
Lutz et al. | Testing tools (software) | |
Drongowski et al. | Studying the performance of the FX! 32 binary translation system | |
KR100428712B1 (en) | A Tracepoint Setting Method for Non-Stop Debugging of Multi-task Programs | |
CN113961449A (en) | Computer software technology development and debugging system | |
Nath | Perk up productivity with profiling tools | |
Julino | Lightweight introspection for full system simulations | |
Lee et al. | A development of remote tracepoint debugger for run-time monitoring and debugging of timing constraints on Qplus-P RTOS | |
Morton | New Laboratory Tools and Techniques for Embedded Microcontrollers | |
Tanyeri et al. | Framework-Based Debugging for Embedded Systems | |
JP2002236596A (en) | Software analytic system having device selectively gathering analytic data from target system execution software having tag statement and its use method | |
Buyansky et al. | No. 1A ESS Laboratory Support System-erasable flag facility | |
James et al. | A Method for Providing Complete Access to the Concurrent Programming Model | |
Chang et al. | A computer simulator for concurrent processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:KUZARA, ERIC J.;BLASCIAK, ANDREW J.;PARETS, GREG S.;REEL/FRAME:006348/0950;SIGNING DATES FROM 19920623 TO 19920629 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, A DELAWARE CORPORATION, C Free format text: MERGER;ASSIGNOR:HEWLETT-PACKARD COMPANY, A CALIFORNIA CORPORATION;REEL/FRAME:010841/0649 Effective date: 19980520 |
|
AS | Assignment |
Owner name: AGILENT TECHNOLOGIES INC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010977/0540 Effective date: 19991101 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20070912 |