Toisinaan tulee tilanteita, jolloin täytyy muuttaa toimiva tuote takaisin suunnittelumalliksi. Ne ovat yleensä tilanteita, joita ei ole alunperin suunniteltu, vaan suunnitelijan täytyy uudelleen suunnitelma ohjelma.
Decomplite
Toimiva ja kääntyvä ohjelma on mahdollista kääntää takaisin lähdekoodiksi. Sitä sanotaan nimellä decompliaatio eli käännökseksi takaisinpäin alkuperäiseen muotoonsa kohti korkeamman tason ohjelmointikieltä. [1]
Tietysti decomplilaatio aiheuttaa sen, että ohjelma ei voi sisältää kaikkea sitä, jonka alkuperäinen lähdekoodi on sisältänyt. Tyypillisesti ohjelma ensin optimoidaan ja poistetaan turha tieto, josta käännös tehdään. Niiden palauttaminen alkuperäiseksi on mahdotonta.
Esimerkiksi muuttujien nimet ja kommentit eivät tule alkuperäiseksi, vaan ne täytyy keksiä uudestaan. Tämä on ihmisen osa, tietokone muuttaa ohjelman vain loogisesti alkuperäiseksi lähdekoodiksi.