The reengineering of legacy software systems to modern Object Oriented platforms has received significant attention over the past few years. However, most often the reengineering process ignores to take into account specific non-functional requirements, such as maintainability, for the target system. In this paper, we propose a quality driven software migration framework that aims to identify and extract an object model from a procedural system and to generate quality migrant object oriented code which satisfies non-functional requirements. Such a reengineering framework is composed of quality models to denote desired quality characteristics for the target migrant systems, transformation rules and, an incremental and iterative quality-driven transformation process that is based on a state transition system. The process aims to identify a sequence of software transformations that generate a target system with desired quality characteristics. Moreover, an evaluation technique is present...