Arvutisimulaator on arvutis töötav programm, mille eesmärk on simuleerida mingit süsteemi, et saada parem ülevaade süsteemi toimimisest. Arvutisimulaatorit võib kasutada ka teise arvuti simuleerimiseks. Seal on kaks peamist tüüpi: täissüsteemi simulaator ja juhiste komplekti simulaator (ISS). Seda tüüpi arvutisimulaatorit kasutatakse sageli uue tarkvara testimiseks paljudes riistvarakonfiguratsioonides, ilma et peaks tegelikult kasutama füüsilisi arvuteid.
Kõige põhilisemal tasemel kasutatakse arvutisimulaatorit reaalse olukorra taasloomiseks, kus paljude erinevate olekute testimine poleks lihtne ega ohutu. Sel juhul säästab arvutisimulaatori kasutamine palju aega ja ressursse ning võib tegelikult võimaldada põhjalikku testimist, mis oleks reaalses maailmas füüsiliselt võimatu. Arvutisimulatsioone on inseneriteaduses ja teaduses kasutatud mõnda aega ning viimastel aastatel, kui riistvara on muutunud vastupidavamaks ja tarkvara on muutunud keerukamaks, on need simulatsioonid võimelised saavutama üha rohkem.
Arvutisimulaatori kasutamise näide võib olla inseneriettevõte, mis töötab lennukitele parema tiiva kujundamisel. Selle asemel, et kulutada ressursse iga uue kujunduse prototüüpide ehitamiseks ja katsetamiseks tuuletunnelites või tõelistel lennukitel, võib selle asemel käivitada simulatsiooni. Kui tuule voolav dünaamika on täpselt modelleeritud, saab virtuaalse tiiva testimiseks miljonil erineval stsenaariumil muuta mis tahes arvu muutujaid, millest mõnda võib olla reaalses maailmas võimatu uuesti luua. Lisaks, kui projekt ei osutu ideaalseks, saab seda hõlpsasti muuta ja uuesti testida, ilma et oleks vaja ehitada uut füüsilist objekti. Sel viisil saab suhteliselt lühikese aja jooksul proovida sadu või tuhandeid kujundusi, mis võimaldab palju suuremat peenhäälestust, kui see muidu võimalik oleks.
Riistvara leviku tõttu leiavad tarkvaratootjad ka vajaduse simuleerida oma programmide jaoks erinevaid keskkondi. Kuna oleks võimatu käivitada tarkvara igas arvutis maailmas, veel vähem seda igas muudetud süsteemis, millel on rohkem või vähem videomälu, kolmanda osapoole helikaarte ja kümneid muid kohandatavaid komponente, selle asemel kasutatakse arvutisimulaatorit. Sel viisil saab tarkvara käitada kümnete tuhandete hüpoteetiliste riistvarakonfiguratsioonidega ning vigu saab tuvastada ja parandada juba ammu enne toote klientidele tarnimist.
Selle ülesande jaoks kasutatakse tavaliselt käsukomplekti simulaatoreid. Neil on võimalik muuta muutujaid, mis esindavad erinevate masinate erinevaid riistvaralisi piiranguid. Neid muutujaid saab muuta, programmi käivitada ja seejärel muutujaid uuesti muuta, võimaldades programmeerijal lühikese aja jooksul testida läbi paljude süsteemide.
Teist tüüpi simulaatorid on täissüsteemi simulaator. Kuigi täissüsteemi simulaator sarnaneb ISS-iga, võimaldab see luua palju põhjalikuma keskkonna, võimaldades simuleerida terveid operatsioonisüsteeme ja tarkvaradraivereid. See võimaldab simulatsioonil veelgi suuremat täpsust, mis annab parema võimaluse vigu tuvastada ja parandada.