These trends constitute the fundamental rationale for the work which we propose here. While code analysis tools are important, they provide only a partial solution to the problems of evolution. Organisations urgently need support and guidance on how to improve their evolution processes. They are reluctant, however, to make large capital investments in specialised tool support which may have a limited lifetime and applicability as they may have already invested in CASE tools and code re-engineering support. Current tools for design recovery work only with single systems.
Most systems exist in multiple versions or system families.
Currently, these have to be analysed and understood individually. Now, applications written in the 1980's using 4GLs are become more and more expensive to maintain. Software reuse is becoming increasingly widely accepted but it remains difficult to find large-scale reusable components. Potential benefits from sub-system reuse are very high. They have no means of choosing which option offers the lowest costs and risks.