A clone management framework to improve code quality of FOSS projects

The emergence of Free/Open Source Software (FOSS) development model as a widely adopted paradigm in the software development industry in the recent few years has developed the interest of researchers towards the code quality of FOSS projects. Code clones are introduced in the software system by the adoption of common code reuse practices by FOSS developers. This has led the clone research community to observe the effects of code clones on the code quality of FOSS projects. Although code clones are not always harmful but they might become critical to large scale and evolving software systems such as FOSS projects. Research in this paper reveals the importance and need for improving code quality of FOSS projects by implementing an effective clone management system integrated in the FOSS development environment. This paper proposes a clone management framework that ensures effective clone evolution tracking and visualization in FOSS projects. This framework will appear as a baseline to initiate the efforts towards improving code quality by the implementation of a versatile clone management system for FOSS development.

[1]  Minhaz Fahim Zibran Towards Implementation of an Integrated Clone Management Infrastructure , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[2]  Chanchal Kumar Roy,et al.  VisCad: flexible code clone analysis support for NiCad , 2011, IWSC '11.

[3]  Nicholas A. Kraft,et al.  Clone evolution: a systematic review , 2011, J. Softw. Evol. Process..

[4]  C. Roy,et al.  The Road to Software Clone Management: A Survey , 2012 .

[5]  Miryung Kim,et al.  An empirical study of code clone genealogies , 2005, ESEC/FSE-13.

[6]  Chanchal Kumar Roy,et al.  The vision of software clone management: Past, present, and future (Keynote paper) , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[7]  Hoan Anh Nguyen,et al.  Scalable and incremental clone detection for evolving software , 2009, 2009 IEEE International Conference on Software Maintenance.

[8]  Rainer Koschke,et al.  What do we need to know about clones? deriving information needs from user goals , 2015, 2015 IEEE 9th International Workshop on Software Clones (IWSC).

[9]  Miryung Kim,et al.  Using a clone genealogy extractor for understanding and supporting evolution of code clones , 2005, ACM SIGSOFT Softw. Eng. Notes.

[10]  Martin P. Robillard,et al.  Tracking Code Clones in Evolving Software , 2007, 29th International Conference on Software Engineering (ICSE'07).

[11]  Liping Zhang,et al.  Extracting Clone Genealogies for Tracking Code Clone Changes , 2016 .

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

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

[14]  Giuliano Antoniol,et al.  Comparison and Evaluation of Clone Detection Tools , 2007, IEEE Transactions on Software Engineering.

[15]  Rainer Koschke,et al.  A survey on goal-oriented visualization of clone data , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[16]  Simon Giesecke,et al.  Generic modelling of code clones , 2006, Duplication, Redundancy, and Similarity in Software.

[17]  Elmar Jürgens,et al.  Index-based code clone detection: incremental, distributed, scalable , 2010, 2010 IEEE International Conference on Software Maintenance.

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

[19]  Hoan Anh Nguyen,et al.  Cleman: Comprehensive Clone Group Evolution Management , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[20]  Tibor Gyimóthy,et al.  Clone Smells in Software Evolution , 2007, 2007 IEEE International Conference on Software Maintenance.

[21]  Martin P. Robillard,et al.  Clonetracker: tool support for code clone management , 2008, ICSE '08.

[22]  Rainer Koschke,et al.  Studying clone evolution using incremental clone detection , 2013, J. Softw. Evol. Process..

[23]  Chanchal Kumar Roy,et al.  An automatic framework for extracting and classifying near-miss clone genealogies , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[24]  Iftekhar Ahmed,et al.  An Exploration of Code Quality in FOSS Projects , 2014, OSS.

[25]  Minhaz Fahim Zibran Analysis and visualization for clone refactoring , 2015, 2015 IEEE 9th International Workshop on Software Clones (IWSC).

[26]  Chanchal Kumar Roy,et al.  gCad: A Near-Miss Clone Genealogy Extractor to Support Clone Evolution Analysis , 2013, 2013 IEEE International Conference on Software Maintenance.

[27]  Shinji Kusumoto,et al.  Incremental Code Clone Detection: A PDG-based Approach , 2011, 2011 18th Working Conference on Reverse Engineering.

[28]  Shinji Kusumoto,et al.  ClonePacker: A tool for clone set visualization , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[29]  Hoan Anh Nguyen,et al.  Clone Management for Evolving Software , 2012, IEEE Transactions on Software Engineering.

[30]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).