Searching for Configurations in Clone Evaluation – A Replication Study

  • Chaiyong Ragkhitwetsagul
  • Matheus Paixao
  • Manal Adham
  • Saheed Busari
  • Jens Krinke
  • John H. Drake
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9962)

Abstract

Clone detection is the process of finding duplicated code within a software code base in an automated manner. It is useful in several areas of software development such as code quality analysis, bug detection, and program understanding. We replicate a study of a genetic-algorithm based framework that optimises parameters for clone agreement (EvaClone). We apply the framework to 14 releases of Mockito, a Java mocking framework. We observe that the optimised parameters outperform the tools’ default parameters in term of clone agreement by 19.91 % to 66.43 %. However, the framework gives undesirable results in term of clone quality. EvaClone either maximises or minimises a number of clones in order to achieve the highest agreement resulting in more false positives or false negatives introduced consequently.

References

  1. 1.
    Mockito. http://mockito.org. Accessed 4 July 2016
  2. 2.
    Simian. http://www.harukizaemon.com/simian. Accessed 4 July 2016
  3. 3.
    Amal, B., Kessentini, M., Bechikh, S., Dea, J., Said, L.B.: On the use of machine learning and search-based software engineering for ill-defined fitness function: a case study on software refactoring. In: SBSE (2014)Google Scholar
  4. 4.
    Bellon, S., Koschke, R., Antoniol, G., Krinke, J., Merlo, E.: Comparison and evaluation of clone detection tools. TSE 33(9), 577–591 (2007)Google Scholar
  5. 5.
    Jiang, L., Misherghi, G., Su, Z., Glondu, S.: DECKARD: scalable and accurate tree-based detection of code clones. In: ICSE (2007)Google Scholar
  6. 6.
    Kamiya, T., Kusumoto, S., Inoue, K.: CCFinder: a multilinguistic token-based code clone detection system for large scale source code. TSE 28, 654–670 (2002)Google Scholar
  7. 7.
    Mondal, M., Roy, C.K., Rahman, M.S., Saha, R.K., Krinke, J., Schneider, K.A.: Comparative stability of cloned and non-cloned code. In: SAC (2012)Google Scholar
  8. 8.
    Roy, C.K., Cordy, J.R., Koschke, R.: Comparison and evaluation of code clone detection techniques and tools. Sci. Comput. Programm. 74(7), 470–495 (2009)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Roy, C.K., Cordy, J.: NICAD: Accurate detection of near-miss intentional clones using flexible pretty-printing and code normalization. In: ICPC (2008)Google Scholar
  10. 10.
    Svajlenko, J., Roy, C.K.: Evaluating modern clone detection tools. In: ICSME (2014)Google Scholar
  11. 11.
    Wang, T., Harman, M., Jia, Y., Krinke, J.: Searching for better configurations: a rigorous approach to clone evaluation. In: FSE (2013)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Chaiyong Ragkhitwetsagul
    • 1
  • Matheus Paixao
    • 1
  • Manal Adham
    • 1
  • Saheed Busari
    • 1
  • Jens Krinke
    • 1
  • John H. Drake
    • 2
  1. 1.University College LondonLondonUK
  2. 2.Queen Mary University of LondonLondonUK

Personalised recommendations