Unifying clone analysis and refactoring activity advancement towards C# applications

Refactoring involves improve the quality of software and reduce the software complexity without affecting its external behavior. The research focuses code clones is a vital target of refactoring and code clones increase the internal complexity, maintenance effort and reduce the quality of software. A clone consists of two or more segments of code that duplicates with each other on the basis of distinct type of similar measurements. The developed algorithm insist a new semantic based clone management and refactoring system to detect and manage as well as refactor both exact and near-miss code clones. The major goal has to remove the clones in source code fragments by unifying the process of clone detection and refactoring. The implemented clone refactoring technique detects and fixes the clones in multiple classes using graph structure and methods. The code analyzer analyzes the user typed code by separating the auto generated code. Based on a graph structure, a new Abstract Semantic Graph Refactoring algorithm for detecting the clones in multiple classes of source code fragments, have been experimented in this research.

[1]  William C. Wake,et al.  Refactoring Workbook , 2003 .

[2]  Abdul Bari Mohammed,et al.  Code Cloning: The Analysis, Detection and Removal , 2011 .

[3]  Chanchal K. Roy,et al.  A Survey on Software Clone Detection Research , 2007 .

[4]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[5]  Jing Liu,et al.  Class structure refactoring of object-oriented softwares using community detection in dependency networks , 2009, Frontiers of Computer Science in China.

[6]  Chanchal Kumar Roy,et al.  Towards flexible code clone detection, management, and refactoring in IDE , 2011, IWSC '11.

[7]  Ayse Basar Bener,et al.  An expert system for determining candidate software classes for refactoring , 2009, Expert Syst. Appl..

[8]  Tom Mens,et al.  On the Use of Graph Transformations for Model Refactoring , 2005, GTTSE.

[9]  Zhendong Niu,et al.  Identification of generalization refactoring opportunities , 2013, Automated Software Engineering.

[10]  S. Sarala Defects Detection in Imperative Language and C# Applications - Towards Evaluation Approach , 2008 .

[11]  Oege de Moor,et al.  Specifying and implementing refactorings , 2010, OOPSLA.

[12]  Marko Rosenmüller,et al.  Towards a refactoring guideline using code clone classification , 2008, WRT '08.

[13]  Daqing Hou,et al.  CReN: a tool for tracking copy-and-paste code clones and renaming identifiers consistently in the IDE , 2007, eclipse '07.

[14]  Joshua Kerievsky,et al.  Refactoring to Patterns , 2004, XP/Agile Universe.

[15]  E Kodhai.,et al.  Clone Detection using Textual and Metric Analysis to figure out all Types of Clones , 2010 .

[16]  Chanchal Kumar Roy,et al.  Comparison and evaluation of code clone detection techniques and tools: A qualitative approach , 2009, Sci. Comput. Program..

[17]  Maninder Singh,et al.  Software clone detection: A systematic review , 2013, Inf. Softw. Technol..

[18]  Jeffrey G. Gray,et al.  Increasing clone maintenance support by unifying clone detection and refactoring activities , 2012, Inf. Softw. Technol..