Abstract Periodic refactoring of a large source code often becomes a necessity especially for long-lived projects. In order to increase maintainability and extensibility of such projects, design pattern based refactoring can be seen as an emerging alternative. Manual inspection of source code to find candidate spots where patterns can be introduced is time consuming. Therefore automated tools can help in identifying candidate spots where can be introduced. The level of source code abstraction plays an important role for building such tools. We propose a new abstraction for object oriented source code that is named as “Refactoring Pattern (ReP) Graph” to realize an effective design pattern based refactoring tool. graph abstracts the source code information thereby making the process of design pattern inference easier. The proposed tool identifies candidate spots in a given source code to introduce design patterns. Keywords design pattern, design pattern inference