Skip to main content
Erschienen in: Journal of Electronic Testing 3/2022

29.06.2022

A Source-code Aware Method for Software Mutation Testing Using Artificial Bee Colony Algorithm

verfasst von: Bahman Arasteh, Parisa Imanzadeh, Keyvan Arasteh, Farhad Soleimanian Gharehchopogh, Bagher Zarei

Erschienen in: Journal of Electronic Testing | Ausgabe 3/2022

Einloggen

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

search-config
loading …

Abstract

The effectiveness of software test data relates to the number of found faults by the test data. Software mutation test is used to evaluate the effectiveness of the software test methods and is one of the challenging fields of software engineering. In order to evaluate the capability of test data in finding the program faults, some syntactical changes are made in the program source code to cause faulty program; then, the generated mutants (faulty programs) and original program are executing with the corresponding test data. One of the main drawbacks of mutation testing is its computational cost. Indeed, high execution time of mutation testing is a challenging research problem. Reducing the time and cost of mutation test is the main objective of this paper. In the traditional mutation methods and tools the mutants are injected randomly in each instructions of a program. Meanwhile, in the real-world program, the probability of fault occurrences in the simple locations (instructions and data) of a program is negligible. With respect to the 80–20 rule, 80% of the faults are found in 20% of the fault-prone code of a program. In the first stage of the proposed method, Artificial Bee Colony optimization algorithm is used to identifying the most fault prone paths of a program; in the next stage, the mutation operators (faults) are injected only on the identified fault-prone instructions and data. Regarding the results of conducted experiments on the standard benchmark programs, Compared to existing methods, the proposed method reduces 28.10% of the generated mutants. Reducing the number of generated mutants will reduce the cost of mutation testing. The traditional mutation testing tools (Mujava, Muclipse, Jester, Jumble) can perform the mutation testing with a lower cost using the method presented in this study.

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!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Weitere Produktempfehlungen anzeigen
Literatur
1.
Zurück zum Zitat Acree A, Budd T, DeMillo R, Lipton R, Sayward F (1980) Mutation Analysis. School of Information and Computer Science, Georgia Institute of Technology Acree A, Budd T, DeMillo R, Lipton R, Sayward F (1980) Mutation Analysis. School of Information and Computer Science, Georgia Institute of Technology
2.
Zurück zum Zitat Aghdam ZK, Arasteh B (2017) An efficient method to generate test data for software structural testing using artificial bee colony optimization algorithm. Int J Softw Eng Knowl Eng 27(6):2017CrossRef Aghdam ZK, Arasteh B (2017) An efficient method to generate test data for software structural testing using artificial bee colony optimization algorithm. Int J Softw Eng Knowl Eng 27(6):2017CrossRef
3.
Zurück zum Zitat Arasteh B (2019) ReDup: A software-based method for detecting soft-error using data analysis. Comput Electr Eng 78:89–107CrossRef Arasteh B (2019) ReDup: A software-based method for detecting soft-error using data analysis. Comput Electr Eng 78:89–107CrossRef
5.
Zurück zum Zitat Barbosa EF, Maldonado JC, Vincenzi AMR (2001) Toward the determination of sufficient mutant operators for C. Softw Test Verification Reliab 11(2):113–136CrossRef Barbosa EF, Maldonado JC, Vincenzi AMR (2001) Toward the determination of sufficient mutant operators for C. Softw Test Verification Reliab 11(2):113–136CrossRef
6.
Zurück zum Zitat Budd TA (1980) Mutation Analysis of Program Test Data. Yale University Budd TA (1980) Mutation Analysis of Program Test Data. Yale University
7.
Zurück zum Zitat Cutigi F, Viola Pizzoleto A, Offutt J (2018) A Systematic Review of Cost Reduction Techniques for Mutation Testing: Preliminary Results. In: Proc. IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp 1–10. https://doi.org/10.1109/ICSTW.2018.00021 Cutigi F, Viola Pizzoleto A, Offutt J (2018) A Systematic Review of Cost Reduction Techniques for Mutation Testing: Preliminary Results. In: Proc. IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp 1–10. https://​doi.​org/​10.​1109/​ICSTW.​2018.​00021
8.
Zurück zum Zitat Delgado-Pérez P, Medina-Bulo I (2018) Search-based mutant selection for efficient test suite improvement: Evaluation and results. Inf Softw Technol 104(2018):130–143CrossRef Delgado-Pérez P, Medina-Bulo I (2018) Search-based mutant selection for efficient test suite improvement: Evaluation and results. Inf Softw Technol 104(2018):130–143CrossRef
9.
Zurück zum Zitat Deng L, Offutt J, Ammann P, Mirzaei N (2017) Mutation operators for testing Android apps. Inf Softw Technol 81(2017):154–168CrossRef Deng L, Offutt J, Ammann P, Mirzaei N (2017) Mutation operators for testing Android apps. Inf Softw Technol 81(2017):154–168CrossRef
10.
Zurück zum Zitat Dominguez-Jimenez JJ, Estero-Botaro A, Garcia-Dominguez A, Medina-Bulo I (2011) Evolutionary mutation testing. Inf Softw Technol 53(10):1108–1123CrossRef Dominguez-Jimenez JJ, Estero-Botaro A, Garcia-Dominguez A, Medina-Bulo I (2011) Evolutionary mutation testing. Inf Softw Technol 53(10):1108–1123CrossRef
11.
Zurück zum Zitat Fenton NE, Ohlsson N (2000) Quantitative analysis of faults and failures in a complex software system. IEEE Trans Softw Eng 26(8):797–814CrossRef Fenton NE, Ohlsson N (2000) Quantitative analysis of faults and failures in a complex software system. IEEE Trans Softw Eng 26(8):797–814CrossRef
14.
Zurück zum Zitat Gheyi R, Ribeiro M, Souza B, Guimarães M, Fernandes L, d’Amorim M, Alves V, Teixeira L, Fonseca B (2021) (2021), Identifying method-level mutation subsumption relations using Z3. Inf Softw Technol 132:106496CrossRef Gheyi R, Ribeiro M, Souza B, Guimarães M, Fernandes L, d’Amorim M, Alves V, Teixeira L, Fonseca B (2021) (2021), Identifying method-level mutation subsumption relations using Z3. Inf Softw Technol 132:106496CrossRef
16.
Zurück zum Zitat Howden WE (1982) Weak mutation testing and completeness of test sets. IEEE Trans Softw Eng 8(4):371–379CrossRef Howden WE (1982) Weak mutation testing and completeness of test sets. IEEE Trans Softw Eng 8(4):371–379CrossRef
18.
Zurück zum Zitat Karaboga D, Basturk B (2007) Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems. Advances in Soft Computing: Foundations of Fuzzy Logic and Soft Computing, vol 4529. Springer, Berlin, pp 789–798CrossRef Karaboga D, Basturk B (2007) Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems. Advances in Soft Computing: Foundations of Fuzzy Logic and Soft Computing, vol 4529. Springer, Berlin, pp 789–798CrossRef
19.
Zurück zum Zitat King KN, Offutt AJ (1991) A Fortran language system for mutation-based software testing. Softw Pract Exper 21(7):685–718CrossRef King KN, Offutt AJ (1991) A Fortran language system for mutation-based software testing. Softw Pract Exper 21(7):685–718CrossRef
20.
Zurück zum Zitat Kintis M, Papadakis M, Malevris N (2010) Evaluating mutation testing alternatives: a collateral experiment. In: Proceedings of the 17th Asia-Pacific Software Engineering Conference (APSEC) Kintis M, Papadakis M, Malevris N (2010) Evaluating mutation testing alternatives: a collateral experiment. In: Proceedings of the 17th Asia-Pacific Software Engineering Conference (APSEC)
21.
Zurück zum Zitat Kurtz B, Ammann P, Delamaro M, Offutt J, Deng L (2014) Mutant subsumption graphs. In: 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops (ICSTW) Kurtz B, Ammann P, Delamaro M, Offutt J, Deng L (2014) Mutant subsumption graphs. In: 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops (ICSTW)
22.
Zurück zum Zitat Kurtz B, Ammann P, Offutt J (2015) Static analysis of mutant subsumption. In: IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW) Kurtz B, Ammann P, Offutt J (2015) Static analysis of mutant subsumption. In: IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)
23.
Zurück zum Zitat Ma YS, Offutt J, Kwon YR (2006) MuJava: A Mutation System for Java. In: 28th International Conference on Software Engineering (ICSE ’06) Ma YS, Offutt J, Kwon YR (2006) MuJava: A Mutation System for Java. In: 28th International Conference on Software Engineering (ICSE ’06)
24.
Zurück zum Zitat Malevris N, Yates D (2006) The collateral coverage of data flow criteria when branch testing. Inf Softw Technol 48(8):676–686CrossRef Malevris N, Yates D (2006) The collateral coverage of data flow criteria when branch testing. Inf Softw Technol 48(8):676–686CrossRef
26.
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
27.
Zurück zum Zitat Offutt AJ, Rothermel G, Zapf C (1993) An experimental evaluation of selective mutation. In: Proceedings of the 15th International Conference on Software Engineering, ICSE ’93. IEEE Computer Society Press, Los Alamitos, CA Offutt AJ, Rothermel G, Zapf C (1993) An experimental evaluation of selective mutation. In: Proceedings of the 15th International Conference on Software Engineering, ICSE ’93. IEEE Computer Society Press, Los Alamitos, CA
28.
Zurück zum Zitat Papadakis M, Malevris N (2010) An empirical evaluation of the first and second order mutation testing strategies. In: 2010 Third International Conference on Software Testing, Verification, and Validation Workshops (ICSTW) Papadakis M, Malevris N (2010) An empirical evaluation of the first and second order mutation testing strategies. In: 2010 Third International Conference on Software Testing, Verification, and Validation Workshops (ICSTW)
29.
Zurück zum Zitat Wei C, Yao X, Gong D, Liu H (2021) Spectral clustering based mutant reduction for mutation testing. Inf Softw Technol 132:106502CrossRef Wei C, Yao X, Gong D, Liu H (2021) Spectral clustering based mutant reduction for mutation testing. Inf Softw Technol 132:106502CrossRef
30.
Zurück zum Zitat Wong WE (1993) On mutation and data flow. Purdue University (Ph.D. dissertation) Wong WE (1993) On mutation and data flow. Purdue University (Ph.D. dissertation)
31.
Zurück zum Zitat Woodward M, Halewood K (1998) From weak to strong, dead or alive? An analysis of some mutation testing issues. In: Proceedings of the Second Workshop on Software Testing, Verification, and Analysis Woodward M, Halewood K (1998) From weak to strong, dead or alive? An analysis of some mutation testing issues. In: Proceedings of the Second Workshop on Software Testing, Verification, and Analysis
32.
Zurück zum Zitat Zhang L, Gligoric M, Marinov D, Khurshid S (2013) Operator-based and random mutant selection: better together. In: Proc. IEEE/ACM 28th International Conference on Automated Software Engineering (ASE) Zhang L, Gligoric M, Marinov D, Khurshid S (2013) Operator-based and random mutant selection: better together. In: Proc. IEEE/ACM 28th International Conference on Automated Software Engineering (ASE)
33.
Zurück zum Zitat Zhang L, Hou S-S, Hu J-J, Xie T, Mei H (2010) Is operator-based mutant selection superior to random mutant selection? In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering Zhang L, Hou S-S, Hu J-J, Xie T, Mei H (2010) Is operator-based mutant selection superior to random mutant selection? In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering
Metadaten
Titel
A Source-code Aware Method for Software Mutation Testing Using Artificial Bee Colony Algorithm
verfasst von
Bahman Arasteh
Parisa Imanzadeh
Keyvan Arasteh
Farhad Soleimanian Gharehchopogh
Bagher Zarei
Publikationsdatum
29.06.2022
Verlag
Springer US
Erschienen in
Journal of Electronic Testing / Ausgabe 3/2022
Print ISSN: 0923-8174
Elektronische ISSN: 1573-0727
DOI
https://doi.org/10.1007/s10836-022-06008-9

Weitere Artikel der Ausgabe 3/2022

Journal of Electronic Testing 3/2022 Zur Ausgabe

EditorialNotes

Editorial

Neuer Inhalt