interpretacji kodu w wirtualnej maszynie Java
analizy wykonywanego programu w celu lokalizacji błędów
analizy kodu źródłowego w celu odnalezienia błędów składniowych
tłumaczenia kodu zapisanego językiem wyższego poziomu na język maszynowy