Softwareonderhoud wordt geschat op 75% tot 90% van de kosten van de levenscyclus van softwareontwikkeling, en de kosten worden verwacht te stijgen. Naarmate systemen hun grenzen overschrijden, vereist het onderhouden en refactoren van code steeds meer inspanning en introduceert het ernstige risico's, aangezien cruciale IP en bedrijfs-/systeemkennis vaak verborgen zit in verouderde onderdelen.
Aangezien hightech-bedrijven vaak vele miljoenen regels code in hun systemen hebben, staat bekend dat het wijzigen van oude software duur, tijdrovend en foutgevoelig is. Om een legacy-toepassing te refactoren of zelfs efficiƫnt te onderhouden, is het essentieel om een goed begrip van de code te hebben. Welke techniek hiervoor gebruikt kan worden, hangt af van de specifieke situatie.