  Software systems are evolving by adding new functions and modifying existing
functions over time. Through the evolution, the structure of software is
becoming more complex and so the understandability and maintainability of
software systems is deteriorating day by day. These are not only important but
one of the most expensive activities in software development. Refactoring has
often been applied to the software to improve them. One of the targets of
refactoring is to limit Code Cloning because it hinders software maintenance
and affects its quality. And in order to cope with the constant changes,
refactoring is seen as an essential component of Extreme Programming. Agile
Methods use refactoring as important key practice and are first choice for
developing clone-free code. This paper summarizes my overview talk on software
cloning analysis. It first discusses the notion of code cloning, types of
clones, reasons, its consequences and analysis. It highlights Code Cloning in
Extreme Programming Environment and finds Clone Detection as effective tool for
Refactoring.
