Generation of Program Analysis Tools Frank Tip Abstract: In recent years, there has been a growing interest in tools that facilitate the understanding, analysis, and debugging of programs. This thesis is concerned with tools and techniques that support the analysis of programs. Instead of directly implementing program analysis tools, our aim is to generate them from formal, algebraic specifications. This approach has the pleasant property that it is largely language-independent. Moreover, it is shown that---to a very large extent---the information needed to construct program analysis tools is already implicitly present in algebraic specifications. Two particular types of program analysis tools are studied in this thesis: tools for source-level debugging and tools for program slicing.