Individual Research Presentation Software Clones Presented By: Adarsh Khare
Outline 1 Introduction Types of Clones Root Causes for Code Clones Strategies Tools Suggested Relating with 577a and 577b 1
Types of Clones 2 Type1 Type 2 Type 3 Exact copy without modifications Syntactically Identical Copy ( only variable, type, or function identifiers have been changes) Type 3 A copy with further modifications ( statements have been changes, added, or removed) 2
Root Causes 3 Programmers are forced to duplicate the code Programmers reuse the copied text as a template and then customize Time Pressure Organizational Issues ( e.g distributed development organizations) 3
Strategies 4 Clone Avoidance Clone Removal Clone Detection Better to avoid them at the beginning. Clone Removal Can be achieved using commercial tools Clone Detection 4
Tool Suggested ( Clone Removal) Let programmers copy and adjust, and then let tools factor out the differences with appropriate mechanisms. –Ira Baxter, 2002 Clone Dr 5
Features of the Tool Compares files exhaustively across whole systems Available for many different languages like PHP 4.0 & 5.0, C,C++, C# Supports analysis of thousands of files/millions of lines of code. 6
Relating with 577a and 577b 577a Start gathering knowledge about the tools. 577b Use the tools during “Development Phase”. 7
References 8 Clone Dr http://www.semdesigns.com/Products/Clone/ Survey Research and cloning https://www.google.com/search?q=software+cloning&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a http://drops.dagstuhl.de/volltexte/2007/962/pdf/06301.KoschkeRainer.962.pdf http://www.tzi.de/st/papers/koschke-fosm-08.pdf 8
Thank You !