Software performance analyzer
Real time software analyzing system for storing selective m-bit addresses based upon correspondingly generated n-bit tags
Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
Method and apparatus for collecting execution status data of structured program
Programmable max/min counter for performance analysis of computer systems
System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
Method for optimizing computer code to provide more efficient execution on computers having cache memories
Interactive computer program specification and simulation system
System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
Method for analyzing calls of application program by inserting monitoring routines into the executable version and redirecting calls to the monitoring routines
ApplicationNo. 09557737 filed on 04/25/2000
US Classes:717/127, Monitoring program execution717/150, Loop compiling717/151, Optimization717/156, Using flow graph717/158, Including instrumentation and profiling717/130, Including instrumentation and profiling718/100, TASK MANAGEMENT OR CONTROL718/102Process scheduling
ExaminersPrimary: Banankhah, Majid A.
AbstractAn object code expansion profiler equips a program for execution profiling by preprocessing the object code files of the program so as to add profiling monitoring code to the beginning of all or substantially all functions. The preprocessing includes, for each function, the steps of grouping the function's instructions into basic blocks, counting the number of cycles required to execute the instructions of the basic block, and inserting special monitoring code with the basic block. The special monitoring code is executed each time the basic block is executed, and updates the profiling information to reflect the number of cycles required to execute the basic block. Special handling is provided for profiling calls to the Operating System (OS). The resultant profiling information is converted into a call graph image most useful for human users. For each arc in the graph connecting a calling-function/parent-node to a called-function/child node, the displayed arc image has a width logarithmically proportional to the self+descendants time for the called function.