Skip to main content

2020 | OriginalPaper | Buchkapitel

Mutation Testing-Based Evaluation Framework for Evaluating Software Clone Detection Tools

verfasst von : Pratiksha Gautam, Hemraj Saini

Erschienen in: Reliability and Risk Assessment in Engineering

Verlag: Springer Singapore

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Mutation testing has become a prominent research area in the past few decades. The mutation testing has been basically used in the testing society. It is a type of software testing where we mutate (small change, modification in the program) source code using mutant operators by introducing potential new bugs in the program code without changing its behavior. Analogously, mutant operators generate new clones by copy/paste editing activities. However, several software clone detection tools and techniques have been introduced by numerous scientists and a large number of tools comprises for a perceivable evaluation. Moreover, there have been a lot of efforts to empirically assess and analyze variant state-of-the-art tools. The current abstraction exhibits that various aspects that could leverage the legitimacy of the outcome of such assessment have been roughly anticipated due to lack of legitimized software clone benchmark. In this paper, we present a mutation testing-based automatic evaluation structure for valuating software clone detection tools and techniques. The proposed framework uses the edit-based taxonomy of mutation operator for assessing code clone detection tools. The proposed structure injects software clones in the source code automatically, and after that, we evaluate clone detection tools. The clone detection tools are evaluated on the basis of precision (number of corrected clones) and recall (total number of clones). We visualize that such a framework will present a valuable augmentation to the research community.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Andrews JH, Briand LC, Labiche Y (2005) Is mutation an appropriate tool for testing experiments? In: Proceedings of the 27th international conference on software engineering. ACM, pp 402–411 Andrews JH, Briand LC, Labiche Y (2005) Is mutation an appropriate tool for testing experiments? In: Proceedings of the 27th international conference on software engineering. ACM, pp 402–411
2.
Zurück zum Zitat Offutt AJ, Lee A, Rothermel G, Untch RH, Zapf C (1996) An experimental determination of sufficient mutant operators. ACM Trans Softw Eng Methodol 5(2):99–118CrossRef Offutt AJ, Lee A, Rothermel G, Untch RH, Zapf C (1996) An experimental determination of sufficient mutant operators. ACM Trans Softw Eng Methodol 5(2):99–118CrossRef
3.
Zurück zum Zitat Roy CK, Cordy JR (2009) A mutation/injection-based automatic framework for evaluating code clone detection tools. In: International conference on software testing, verification and validation workshops. IEEE Computer Society, Washington, DC, USA, pp 157–166 Roy CK, Cordy JR (2009) A mutation/injection-based automatic framework for evaluating code clone detection tools. In: International conference on software testing, verification and validation workshops. IEEE Computer Society, Washington, DC, USA, pp 157–166
4.
Zurück zum Zitat Roy CK, Cordy JR (2008) Towards a mutation-based automatic framework for evaluating code clone detection tools. In: Proceedings of the 2008 C3S2E conference. ACM, New York, NY, USA, pp 137–140 Roy CK, Cordy JR (2008) Towards a mutation-based automatic framework for evaluating code clone detection tools. In: Proceedings of the 2008 C3S2E conference. ACM, New York, NY, USA, pp 137–140
5.
Zurück zum Zitat Gautam P, Saini H (2016) Various code clone detection techniques and tools: a comprehensive survey. In: International conference on smart trends for information technology and computer communications. Springer, Singapore, pp 655–667 Gautam P, Saini H (2016) Various code clone detection techniques and tools: a comprehensive survey. In: International conference on smart trends for information technology and computer communications. Springer, Singapore, pp 655–667
6.
Zurück zum Zitat Baker BS (1995) On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd working conference on reverse engineering. IEEE, pp 86–95 Baker BS (1995) On finding duplication and near-duplication in large software systems. In: Proceedings of 2nd working conference on reverse engineering. IEEE, pp 86–95
7.
Zurück zum Zitat Ducasse S, Rieger M, Demeyer S (1999) A language independent approach for detecting duplicated code. In: Proceedings of software maintenance. IEEE, Oxford, UK, pp 109–118 Ducasse S, Rieger M, Demeyer S (1999) A language independent approach for detecting duplicated code. In: Proceedings of software maintenance. IEEE, Oxford, UK, pp 109–118
8.
Zurück zum Zitat Mayrand J, Leblanc C, Merlo E (1996) Experiment on the automatic detection of function clones in a software system using metrics. In: ICSM, vol 96, p 24 Mayrand J, Leblanc C, Merlo E (1996) Experiment on the automatic detection of function clones in a software system using metrics. In: ICSM, vol 96, p 24
9.
Zurück zum Zitat Kontogiannis KA, DeMori R, Merlo E, Galler M, Bernstein M (1996) Pattern matching for clone and concept detection. Autom Softw Eng 3(1–2):77–108MathSciNetCrossRef Kontogiannis KA, DeMori R, Merlo E, Galler M, Bernstein M (1996) Pattern matching for clone and concept detection. Autom Softw Eng 3(1–2):77–108MathSciNetCrossRef
10.
Zurück zum Zitat Lague B, Proulx D, Mayrand J, Merlo EM, Hudepohl J (1997) Assessing the benefits of incorporating function clone detection in a development process. In: Proceedings of software maintenance. IEEE, Washington, DC, USA, pp 314–321 Lague B, Proulx D, Mayrand J, Merlo EM, Hudepohl J (1997) Assessing the benefits of incorporating function clone detection in a development process. In: Proceedings of software maintenance. IEEE, Washington, DC, USA, pp 314–321
11.
Zurück zum Zitat Li Z, Lu S, Myagmar S, Zhou Y (2006) CP-Miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans Softw Eng 32(3):176–192CrossRef Li Z, Lu S, Myagmar S, Zhou Y (2006) CP-Miner: finding copy-paste and related bugs in large-scale software code. IEEE Trans Softw Eng 32(3):176–192CrossRef
12.
Zurück zum Zitat Bellon S, Koschke R, Antoniol G, Krinke J, Merlo E (2007) Comparison and evaluation of clone detection tools. IEEE Trans Softw Eng 33(9):577–591CrossRef Bellon S, Koschke R, Antoniol G, Krinke J, Merlo E (2007) Comparison and evaluation of clone detection tools. IEEE Trans Softw Eng 33(9):577–591CrossRef
13.
Zurück zum Zitat Bruntink M, Van Deursen A, Van Engelen R, Tourwe T (2005) On the use of clone detection for identifying crosscutting concern code. IEEE Trans Softw Eng 31(10):804–818CrossRef Bruntink M, Van Deursen A, Van Engelen R, Tourwe T (2005) On the use of clone detection for identifying crosscutting concern code. IEEE Trans Softw Eng 31(10):804–818CrossRef
14.
Zurück zum Zitat Burd E, Bailey J (2002) Evaluating clone detection tools for use during preventative maintenance. In: Proceedings of second IEEE international workshop on source code analysis and manipulation. IEEE Computer Society, Washington, DC, USA, pp 36–43 Burd E, Bailey J (2002) Evaluating clone detection tools for use during preventative maintenance. In: Proceedings of second IEEE international workshop on source code analysis and manipulation. IEEE Computer Society, Washington, DC, USA, pp 36–43
15.
Zurück zum Zitat Koschke R, Falke R, Frenzel P (2006) Clone detection using abstract syntax suffix trees. In: 13th working conference on reverse engineering. IEEE Computer Society, Washington, DC, USA, pp 253–262 Koschke R, Falke R, Frenzel P (2006) Clone detection using abstract syntax suffix trees. In: 13th working conference on reverse engineering. IEEE Computer Society, Washington, DC, USA, pp 253–262
16.
Zurück zum Zitat Van Rysselberghe F, Demeyer S (2004) Evaluating clone detection techniques from a refactoring perspective. In: Proceedings. 19th international conference on automated software engineering, 2004. IEEE Computer Society, Washington, DC, USA, pp 336–339 Van Rysselberghe F, Demeyer S (2004) Evaluating clone detection techniques from a refactoring perspective. In: Proceedings. 19th international conference on automated software engineering, 2004. IEEE Computer Society, Washington, DC, USA, pp 336–339
17.
Zurück zum Zitat Baker BS (2007) Finding clones with dup: analysis of an experiment. IEEE Trans Software Eng 33(9):608–621CrossRef Baker BS (2007) Finding clones with dup: analysis of an experiment. IEEE Trans Software Eng 33(9):608–621CrossRef
18.
Zurück zum Zitat Offutt J (2011) A mutation carol: past, present and future. Inf Softw Technol 53(10):1098–1107CrossRef Offutt J (2011) A mutation carol: past, present and future. Inf Softw Technol 53(10):1098–1107CrossRef
19.
Zurück zum Zitat Lipton RJ (1971) Fault diagnosis of computer programs. Student report, Carnegie Mellon University Lipton RJ (1971) Fault diagnosis of computer programs. Student report, Carnegie Mellon University
20.
Zurück zum Zitat Budd T, Sayward F (1977) Users guide to the Pilot mutation system. Technique report 114, Yale University, New Haven, CT Budd T, Sayward F (1977) Users guide to the Pilot mutation system. Technique report 114, Yale University, New Haven, CT
21.
Zurück zum Zitat Hamlet RG (1977) Testing programs with the aid of a compiler. IEEE Trans Softw Eng 4:279–290CrossRef Hamlet RG (1977) Testing programs with the aid of a compiler. IEEE Trans Softw Eng 4:279–290CrossRef
22.
Zurück zum Zitat DeMillo RA, Lipton RJ, Sayward FG (1978) Hints on test data selection: help for the practicing programmer. Computer 11(4):34–41CrossRef DeMillo RA, Lipton RJ, Sayward FG (1978) Hints on test data selection: help for the practicing programmer. Computer 11(4):34–41CrossRef
23.
Zurück zum Zitat DeMillo RA (1989) Completely validated software: test adequacy and program mutation (panel session). In: Proceedings of the 11th international conference on software engineering. ACM, Pittsburgh, PA, pp 355–356 DeMillo RA (1989) Completely validated software: test adequacy and program mutation (panel session). In: Proceedings of the 11th international conference on software engineering. ACM, Pittsburgh, PA, pp 355–356
24.
Zurück zum Zitat Woodward MR (1990) Mutation testing—an evolving technique. In: IEE colloquium on software testing for critical systems, p 3-1 Woodward MR (1990) Mutation testing—an evolving technique. In: IEE colloquium on software testing for critical systems, p 3-1
25.
Zurück zum Zitat Woodward MR (1993) Mutation testing—its origin and evolution. Inf Softw Technol 35(3):163–169CrossRef Woodward MR (1993) Mutation testing—its origin and evolution. Inf Softw Technol 35(3):163–169CrossRef
26.
Zurück zum Zitat Mathur AP (2013) Foundations of software testing, 2/e. Pearson Education India Mathur AP (2013) Foundations of software testing, 2/e. Pearson Education India
27.
Zurück zum Zitat Ammann P, Offutt J (2016) Introduction to software testing. Cambridge University Press, CambridgeCrossRef Ammann P, Offutt J (2016) Introduction to software testing. Cambridge University Press, CambridgeCrossRef
28.
Zurück zum Zitat Offutt AJ, Untch RH (2001) Mutation 2000: uniting the orthogonal. In: Mutation testing for the new century. Springer, USA, pp 34–44 Offutt AJ, Untch RH (2001) Mutation 2000: uniting the orthogonal. In: Mutation testing for the new century. Springer, USA, pp 34–44
29.
Zurück zum Zitat Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Trans Softw Eng 37(5):649–678CrossRef Jia Y, Harman M (2011) An analysis and survey of the development of mutation testing. IEEE Trans Softw Eng 37(5):649–678CrossRef
30.
Zurück zum Zitat Zhu Q, Panichella A, Zaidman A (2016) A systematic literature review of how mutation testing supports test activities (No. e2483v1). PeerJ Preprints, pp 1–57 Zhu Q, Panichella A, Zaidman A (2016) A systematic literature review of how mutation testing supports test activities (No. e2483v1). PeerJ Preprints, pp 1–57
31.
Zurück zum Zitat Reales P, Polo M, Fernandez-Aleman JL, Toval A, Piattini M (2014) Mutation testing. IEEE Softw 31(3):30–35CrossRef Reales P, Polo M, Fernandez-Aleman JL, Toval A, Piattini M (2014) Mutation testing. IEEE Softw 31(3):30–35CrossRef
32.
Zurück zum Zitat Gligoric M, Jagannath V, Luo Q, Marinov D (2013) Efficient mutation testing of multithreaded code. Softw Test Verification Reliab 23(5):375–403CrossRef Gligoric M, Jagannath V, Luo Q, Marinov D (2013) Efficient mutation testing of multithreaded code. Softw Test Verification Reliab 23(5):375–403CrossRef
33.
Zurück zum Zitat Baker R, Habli I (2013) An empirical evaluation of mutation testing for improving the test quality of safety-critical software. IEEE Trans Softw Eng 39(6):787–805CrossRef Baker R, Habli I (2013) An empirical evaluation of mutation testing for improving the test quality of safety-critical software. IEEE Trans Softw Eng 39(6):787–805CrossRef
34.
Zurück zum Zitat Mateo PR, Usaola MP (2015) Reducing mutation costs through uncovered mutants. Softw Test Verification Reliab 25(5–7):464–489CrossRef Mateo PR, Usaola MP (2015) Reducing mutation costs through uncovered mutants. Softw Test Verification Reliab 25(5–7):464–489CrossRef
35.
Zurück zum Zitat Namin AS, Xue X, Rosas O, Sharma P (2015) MuRanker: a mutant ranking tool. Softw Test Verification Reliab 25(5–7):572–604CrossRef Namin AS, Xue X, Rosas O, Sharma P (2015) MuRanker: a mutant ranking tool. Softw Test Verification Reliab 25(5–7):572–604CrossRef
36.
Zurück zum Zitat Derezinska A, Hałas K (2015) Improving mutation testing process of python programs. In: Software engineering in intelligent systems. Springer, Cham, pp 233–242 Derezinska A, Hałas K (2015) Improving mutation testing process of python programs. In: Software engineering in intelligent systems. Springer, Cham, pp 233–242
37.
Zurück zum Zitat Sun CA, Xue F, Liu H, Zhang X (2017) A path-aware approach to mutant reduction in mutation testing. Inf Softw Technol 81:65–81CrossRef Sun CA, Xue F, Liu H, Zhang X (2017) A path-aware approach to mutant reduction in mutation testing. Inf Softw Technol 81:65–81CrossRef
38.
Zurück zum Zitat Delgado-Pérez P, Medina-Bulo I, Palomo-Lozano F, García-Domínguez A, Domínguez-Jiménez JJ (2017) Assessment of class mutation operators for C++ with the MuCPP mutation system. Inf Softw Technol 81:169–184CrossRef Delgado-Pérez P, Medina-Bulo I, Palomo-Lozano F, García-Domínguez A, Domínguez-Jiménez JJ (2017) Assessment of class mutation operators for C++ with the MuCPP mutation system. Inf Softw Technol 81:169–184CrossRef
39.
Zurück zum Zitat Bashir MB, Nadeem A (2017) Improved genetic algorithm to reduce mutation testing cost. IEEE Access 5:3657–3674CrossRef Bashir MB, Nadeem A (2017) Improved genetic algorithm to reduce mutation testing cost. IEEE Access 5:3657–3674CrossRef
40.
Zurück zum Zitat Wet Lab (1989) Retrieved from http://ftp.gnu.org/gnu/wget/ Wet Lab (1989) Retrieved from http://​ftp.​gnu.​org/​gnu/​wget/​
41.
Zurück zum Zitat Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Softw Eng 28(7):654–670CrossRef Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Softw Eng 28(7):654–670CrossRef
42.
Zurück zum Zitat Roy CK, Cordy JR (2007) A survey on software clone detection research. Queen’s School of Computing TR, 541(115), pp 64–68 Roy CK, Cordy JR (2007) A survey on software clone detection research. Queen’s School of Computing TR, 541(115), pp 64–68
Metadaten
Titel
Mutation Testing-Based Evaluation Framework for Evaluating Software Clone Detection Tools
verfasst von
Pratiksha Gautam
Hemraj Saini
Copyright-Jahr
2020
Verlag
Springer Singapore
DOI
https://doi.org/10.1007/978-981-15-3746-2_3

Neuer Inhalt