Software Written at Univ. of Wisconsin-Madison

PP: A Path Profiling Tool

PP is a fast path profiler. A path profiler associates event counts with paths through programs. For example, the events can be simply the beginnings of new paths, in which case the profile just counts the number of times each path executes, or the events can be hardware events like data cache misses, in which case the profile counts the number of times each path suffered a cache miss. PP is distributed with EEL (see below).

EEL: An Executable Editing Library

EEL (Executable Editing Library) is a new C++ library that hides much of the complexity and system-specific detail of editing executables. EEL provides abstractions that allow a tool to analyze and modify executable programs without being concerned with particular instruction sets, executable file formats, or consequences of deleting existing code and adding foreign code. EEL greatly simplifies the construction of program measurement, protection, translation, and debugging tools. EEL works for Suns running Solaris and is available through the Wisconsin Architectural Research Tool Set (WARTS).

QPT: A Quick Program Profiling and Tracing System

QPT is an exact and efficient program profiler and tracing system. It rewrites a program's executable file by inserting code to record the execution frequency or sequence of every basic block (straight-line sequence of instructions) or control-flow edge. From this information, another program QPT_STATS can calculate the execution cost of procedures in the program. When tracing a program, QPT produces a trace regeneration program that reads the highly compressed trace file and regenerates a full program trace.  QPT is distributed with EEL (see above).

SPIM: A MIPS R2000/R3000 Simulator

SPIM is a self-contained software simulator for running R2000/R3000 assembly language programs. It reads and can immediately executes files containing assembly language code. SPIM also provides a debugger and simple set of operating system services. The SPIM software runs on most flavors of Unix systems and on PCs running MS/DOS, Windows 3.1, Windows 95, and Windows NT. SPIM provides both a simple, textual interface and a fancier, windows interface. The package includes complete source code and documentation.