Aus diesem Grund bieten die meisten gängigen Compiler eine Optimierungs-Phase an, in der der Compiler das zu übersetzende Programm analysiert und gegebenenfalls optimierende Transformationen vornimmt.
In einigen Fällen kommt es jedoch vor, dass die Bemühung um Optimierung über das Ziel hinaus schießt und das optimierte Programm nicht mehr genau das tut, was das ursprüngliche Programm tun sollte.
In der Vorlesung stellen wir eine Reihe von Techniken vor, um die Effizienz der Programm-Ausführung zu erhöhen. Insbesondere interessieren wir uns dabei für Methoden, die garantieren, dass das Ergebnis-Programm mit dem originalen äquivalent ist.