El documento trata sobre el tema de la reingeniería de software. La reingeniería implica rediseñar sistemas heredados para mejorar su estructura y comprensibilidad mediante actividades como redocumentar el sistema, reorganizar y reestructurar el código, traducir el sistema a un lenguaje más moderno y modificar la estructura y valores de los datos. El proceso de reingeniería busca crear versiones de programas existentes con mayor calidad y facilidad de mantenimiento.