This paper describes algorithms for inserting monitoring code to profile and trace programs. These algorithms greatly reduce the cost of measuring programs with respect to the commonly used technique of placing code in each basic block. Program profiling counts the number of times each basic block in a program executes. Instruction tracing records the sequence of basic blocks traversed in a program execution. The algorithms optimize the placement of counting/tracing code with respect to the expected or measured frequency of each block or edge in a program’s control-flow graph. We have implemented the algorithms in a profiling/tracing tool, and they substantially reduce the overhead of profiling and tracing. We also define and study the hier...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Obtaining an accurate whole program path (WPP) that captures a program’s runtime behaviour in terms ...
Event tracing of parallel programs can provide valuable information about program performance. The d...
A path profile determines how many times each acyclic path in a routine executes. This type of profi...
A program trace lists the addresses of instructions executed and data referenced during a program's ...
Profiling under UNIX is done by inserting counters into programs either before or during the compila...
Developers use profilers to identify code that should be op-timized. For each block of code, develop...
Profiling can provide the information needed to identify performance bottlenecks in a program, but t...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
Automation of the hardware/software codesign (HSC) methodology brings with it the need to develop so...
Program execution monitoring consists of checking whole executions for given properties in order to ...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Trace analysis plays a fundamental role in many program analysis approaches, such as runtime verific...
In this paper we present a profiling methodology and toolkit for helping developers discover hidden ...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Obtaining an accurate whole program path (WPP) that captures a program’s runtime behaviour in terms ...
Event tracing of parallel programs can provide valuable information about program performance. The d...
A path profile determines how many times each acyclic path in a routine executes. This type of profi...
A program trace lists the addresses of instructions executed and data referenced during a program's ...
Profiling under UNIX is done by inserting counters into programs either before or during the compila...
Developers use profilers to identify code that should be op-timized. For each block of code, develop...
Profiling can provide the information needed to identify performance bottlenecks in a program, but t...
Abstract Profile-based optimizations can be used for instruction scheduling, loop scheduling, data p...
Automation of the hardware/software codesign (HSC) methodology brings with it the need to develop so...
Program execution monitoring consists of checking whole executions for given properties in order to ...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Trace analysis plays a fundamental role in many program analysis approaches, such as runtime verific...
In this paper we present a profiling methodology and toolkit for helping developers discover hidden ...
A program profile attributes run-time costs to portions of a program's execution. Most profiling sys...
Abstract. This paper describes new techniques to help with testing and debugging, using information ...
Obtaining an accurate whole program path (WPP) that captures a program’s runtime behaviour in terms ...
Event tracing of parallel programs can provide valuable information about program performance. The d...