Muistivika on tietokoneongelma, jossa ohjelmointivirhe aiheuttaa muistin ongelman. Kun käyttäjä yrittää käyttää muistia, tietokone voi käyttäytyä oudosti, kun se yrittää käsitellä tietoja. Tämä voi johtua käyttäjävirheistä, viruksista tai häiriöistä ohjelmassa tai käyttöjärjestelmässä. Käyttäjät voivat käyttää erilaisia tekniikoita tämän ongelman ratkaisemiseksi.
Tietokoneet luottavat segmentoituun muistiin tietojen tallentamiseen. Osoittimet kertovat käyttöjärjestelmälle, mistä tietoja haetaan. Joskus muistin vioittumista aiheuttava virhe ei näy heti, ja tämä voi johtaa tilanteeseen, jossa käyttäjä tunnistaa ongelman vasta paljon myöhemmin. Hän saattaa tallentaa tiedoston normaalisti ja mennä avaamaan sen useita viikkoja myöhemmin, mutta huomaa, että tietokone ei löydä sitä.
Virheitä voi ilmetä, kun muisti liikkuu, käyttäjä ylittää puskurin tai ohjelmat hämmentyvät siitä, mihin tiedot tallennetaan. Kun tietokone kohtaa muistivirheitä, voi tapahtua monenlaisia virheitä. Ohjelma saattaa alkaa käyttäytyä oudosti tai se voi jäätyä, koska se ei tiedä miten saada tarvittavat tiedot. Tietokone voi myös palauttaa tietyn ongelmaan liittyvän virhesanoman ja pyytää käyttäjää korjaamaan ongelman ennen virheen laukaisevan komennon yrittämistä.
Joskus muistin vioittuminen johtuu haittaohjelmasta tai tahallisesta hyökkäyksestä tietokonejärjestelmää vastaan. Käyttöjärjestelmissä ja ohjelmissa voi olla haavoittuvuuksia, ja ohjelmoija voi hyödyntää niitä koodilla, joka on tarkoitettu muistin vioittumiseen. Tämä voidaan tehdä sabotoimalla järjestelmää tai jättämällä se avoimeksi, jotta hakkeri pääsee käsiksi normaalisti suojattuihin tietoihin. Korruptio voi olla kallista korjata, ja se voi tehdä järjestelmän käyttökelvottomaksi, kunnes tekninen ammattilainen voi tunnistaa ja korjata ongelman.
Tietotekniikan asiantuntijat voivat tutkia muistin vioittumista ja päättää, miten ongelma voidaan ratkaista. Tämä saattaa edellyttää alustamista, rekisteriin tehtäviä muutoksia tai muita toimia. Korjauskustannukset riippuvat virheen luonteesta, järjestelmän koosta ja perimmäisestä syystä. Jos syy on toistuva ongelma, teknikon on korjattava se ennen muistin korjaamista, mikä voi tehdä korjauksesta kalliimpaa.
Kehittäjien, jotka suunnittelevat ja testaavat uusia ohjelmistoja, on ajateltava muistin vioittumista osana työtä. He testaavat rutiininomaisesti kehitteillä olevia tuotteita ja pyytävät betatestaajia tekemään saman, kun projekti lähestyy valmistumistaan. Testaajat ryhtyvät toimiin ohjelman rikkomiseksi tai hämmentämiseksi ja ottavat huomioon havaitsemansa virheet. Jos virheitä voidaan luoda käyttäjän toiminnolla, kehittäjien on korjattava se.