Mrtva koda je koda v programskem programu, ki je program ne more doseči ali je dejansko ne uporablja. Prisotna je lahko iz različnih razlogov, in ko ljudje delajo s programsko opremo, prepoznajo mrtvo kodo in se odločijo, kaj bodo storili glede tega. V nekaterih primerih ga lahko ljudje varno odstranijo, ne da bi pri tem ogrozili program, in to lahko storijo, da bi bil program učinkovitejši. Druge situacije lahko zahtevajo, da ljudje pustijo kodo v njej ali pa morajo biti previdni, ko jo izločajo, da ne bi povzročili težave.
Eden od razlogov za mrtvo kodo je uporaba rutin med odpravljanjem napak, ne da bi te rutine pozneje odstranili. Program dejansko ne uporablja kode in je lahko dejansko odrezan od nje, vendar ostane v sistemu. Ljudje lahko ustvarijo mrtvo kodo tudi tako, da ponovno uporabijo odseke iz drugega programa, spremenijo programsko opremo ali vstavijo kodo z idejo, da bi jo uporabili v prihodnosti. Odvisno od strukture programa lahko izvede kodo, vendar z njo ne naredi ničesar, ali pa ugotovi, da je material popolnoma nedosegljiv.
Ta segment znotraj programa izgublja čas in prostor. V nekaterih primerih lahko moti tudi delovanje. Program lahko ugotovi, da je mrtva koda zmedena ali zavajajoča in ustvari napake. Ko ljudje najdejo primere, morajo skrbno pregledati program, da vidijo, kako koda deluje z njim. Za varno odstranitev kode bo morda treba vstaviti novo kodo ali spremeniti okoliški material. V drugih primerih ga je mogoče varno odstraniti.
Kadar je mrtva koda sestavljena iz materiala, dodanega ob upoštevanju prihodnjih nepredvidenih dogodkov, se lahko pusti na mestu. Ljudje lahko dostopajo do njega, kadar in če je to kdaj potrebno, in ga aktivirajo, da ga lahko program uporablja. To je lahko uporabno za situacije, kot je odpravljanje napak, kjer lahko vgrajene stvari v strukturo programa olajšajo prepoznavanje in odpravljanje napak in drugih težav. Koda lahko ustvari tudi ranljivost, kar je pomemben dejavnik pri odločanju, kako ravnati z njo.
Z vsako posodobitvijo programska oprema sčasoma nabere nekaj ohlapnih koncev in mrtve kode. Funkcije se spreminjajo, ljudje dodajajo material, pridružijo se novi programerji in razmišljajo o izzivih kodiranja drugače, nastaja pa naplavin. Pomemben del upravljanja programa so redni pregledi za preverjanje tuje ali potencialno zlonamerne kode. Ljudje lahko izdajo popravke ali nove izdaje, da odpravijo težavo in uporabnikom omogočijo bolj gladko delovanje ter izboljšano funkcionalnost in varnost.