Software re-engineering and object orientation are two areas of growing interest in the last years. However, while many researchers have focused their interest in the object-oriented design methodologies, a little attention has been paid to the re-engineering towards an object-oriented environment. In this paper, after a brief discussion of the re-engineering issues, we examine the motivations towards object-oriented re-engineering (extendibility, robustness and reusability of the code) and the related problems, related to the difficulty of moving from a process-based to an object oriented perspective. Finally, we describe a general framework for the implementation of an object-oriented re-engineering tool.