Jej celem jest poprawienie wydajności programu
W celu zwiększenia szybkości wykonywania kodu przez procesor może być prowadzona na różnych etapach pracy
Jej celem jest sprawdzenie zgodności z wymogami formalnymi
Powinna prowadzić do modyfikacji kodu źródłowego do postaci, w której będzie on działał szybciej