  Refactoring is the process of improving the design of existing code by
changing its internal structure without affecting its external behaviour, with
the main aims of improving the quality of software product. Therefore, there is
a belief that refactoring improves quality factors such as understandability,
flexibility, and reusability. However, there is limited empirical evidence to
support such assumptions. The objective of this study is to validate/invalidate
the claims that refactoring improves software quality. The impact of selected
refactoring techniques was assessed using both external and internal measures.
Ten refactoring techniques were evaluated through experiments to assess
external measures: Resource Utilization, Time Behaviour, Changeability and
Analysability which are ISO external quality factors and five internal
measures: Maintainability Index, Cyclomatic Complexity, Depth of Inheritance,
Class Coupling and Lines of Code. The result of external measures did not show
any improvements in code quality after the refactoring treatment. However, from
internal measures, maintainability index indicated an improvement in code
quality of refactored code than non-refactored code and other internal measures
did not indicate any positive effect on refactored code
