Ponekad se naziva profiliranjem, analiza izvedbe u odnosu na softversko inženjerstvo jednostavno je proces procjene kako određeni softverski program funkcionira. Ovaj proces obično započinje načinom na koji se program učitava i što se događa kada se izvrši svaki korak u korištenju programa. Cilj analize izvedbe je osigurati da softverski program radi s optimalnom učinkovitošću te identificirati i ispraviti sve probleme koji mogu negativno utjecati na tu učinkovitost.
Analiza izvedbe također pomaže inženjeru da prilagodi komponente na način koji pomaže programu da najbolje iskoristi dostupne resurse. Procjenom izvršenja u stvarnom vremenu moguće je utvrditi može li se nešto učiniti kako bi se ubrzao zadatak ili promijenila količina memorije potrebne za izvođenje zadatka bez negativnog utjecaja na cjelokupnu funkciju softvera. Konačni cilj je program koji radi glatko, brzo i radi svaki put kada se pokrene bilo koji zadatak.
Analiza izvedbe je jedna vrsta dinamičke analize programa ili DPA. DPA se usredotočuje na ono što se događa kada se program aktivno izvodi, uključujući način na koji se resursi koriste i kojim redoslijedom. Ovo se razlikuje od statičke analize koda, koja se više usredotočuje na to kako je kod napisan i koliko je logičan slijed naredbi. Međutim, obje vrste analize zajednički su elementi ocjenjivanja i usavršavanja softvera i funkcionalnosti softvera.
Povijest analize programa seže u najranije godine računalstva. Tijekom razvoja prvih “elektronskih mozgova” 1940-ih, uvedene su različite metode za testiranje učinkovitosti svake funkcije koju je dani sustav bio sposoban izvesti. Kako je tehnologija nastavila napredovati, metodologija za ocjenjivanje razine performansi softvera koji se izvodi na različitim sustavima bila je poboljšana i donekle standardizirana. Danas, arhitekti sustava i pisci softverskih programa koriste analizu programa kako bi identificirali prednosti i nedostatke svojstvene određenom izdanju programa i stvorili popravke za sve probleme. Podaci prikupljeni analizom izvedbe pomažu u sprječavanju pojavljivanja istih problema u kasnijim izdanjima programa.
Stvarni proces analize izvedbe još uvijek se može postići ručnim pregledom tijekom aktivnog rada programa ili se može dovršiti automatski prikupljanjem podataka pomoću automatiziranog alata za profiliranje. U oba slučaja prikupljaju se informacije koje omogućuju piscu softvera ili arhitektu sustava da odrede što je potrebno učiniti kako bi program radio s vršnom učinkovitošću na danom sustavu ili mreži. Analiza učinka nije zadatak koji se izvrši jednom, a zatim se smatra obavljenim. Nije neobično da administratori sustava ponavljaju analizu performansi, budući da ažuriranja drugih programa, kao i promjene hardvera, mogu utjecati na učinkovitost programa koji je podvrgnut analizi.