This paper discusses the requirements and a generic framework for the integration of architectural and code-based reengineering tools. This framework is needed because there is a large number of stand-alone reengineering tools that operate at different levels of abstraction ranging from "code-level" to software architecture. For the purposes of reengineering a complete system however, these tools need to be able to share information so that not only can the code be updated or corrected, but also so the system's software architecture can be simultaneously rationalized or modernized. To this end, we have built upon the CORUM model of reengineering tool interoperation to include software architecture concepts and tools. This extended framework— called CORUM II—is organized around the metaphor of a "horseshoe", where the left-hand side of the horseshoe consists of fact extraction from an existing system, the right hand side consists of development activities, and the bridge between the sides consists of a set of transformations from the old to the new.