- 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.