Paper Title
Improving Software Maintainability Through Refactoring- An Empirical Study

Abstract
Refactoring is the process of changing the internal structure of the existing code of the software to improve the design without affecting its external behavior. In this paper, we empirically examine the impact of Refactoring on Software Maintenance using Object Oriented (OO) Metric. To carry out the empirical study, the source code of an open source project ORDrumbox hosted by Sourceforge.net is obtained. Five refactoring techniques Extract Class, Use Super Type, Extract Method, Extract Super Class and Extract Interface are applied and their effects are observed. OO Metrics of the software are collected before and after the application of refactoring and Change in their values are further mapped to maintainability. This helps us in determining how these refactoring techniques affect maintainability. This paper reflects that refactoring techniques improve maintainability with a long term planning by improving the design of the code. This paper will help the software professionals in taking the decision regarding which refactoring method should be applied and when it should be applied, in order to optimize the cost involved in the software system design. Keywords- Quality Improvement, Object Oriented Metrics, Refactoring, Software Maintainability, Software Measurement.