Skip to main content
Erschienen in: Artificial Intelligence Review 2/2021

06.08.2020

Using memetic algorithm for robustness testing of contract-based software models

verfasst von: Anvar Bahrampour, Vahid Rafe

Erschienen in: Artificial Intelligence Review | Ausgabe 2/2021

Einloggen

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

search-config
loading …

Abstract

Graph Transformation System (GTS) can formally specify the behavioral aspects of complex systems through graph-based contracts. Test suite generation under normal conditions from GTS specifications is a task well-suited to evolutionary algorithms such as Genetic and Particle Swarm Optimization (PSO) metaheuristics. However, testing the vulnerabilities of a system under unexpected events such as invalid inputs is essential. Furthermore, the mentioned global search algorithms tend to make big jumps in the system’s state-space that are not concentrated on particular test goals. In this paper, we extend the HGAPSO approach into a cost-aware Memetic Algorithm (MA) by making small local changes through a proposed local search operator to optimize coverage score and testing costs. Moreover, we test GTS specifications not only under normal events but also under unexpected situations. So, three coverage-based testing strategies are investigated, including normal testing, robustness testing, and a hybrid strategy. The effectiveness of the proposed test generation algorithm and the testing strategies are evaluated through a type of mutation analysis at the model-level. Our experimental results show that (1) the hybrid testing strategy outperforms normal and robustness testing strategies in terms of fault-detection capability, (2) the robustness testing is the most cost-efficient strategy, and (3) the proposed MA with the hybrid testing strategy outperforms the state-of-the-art global search algorithms.

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 "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!

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
Zurück zum Zitat Aichernig BK, Lorber F, Nickovic D (2013) Model-based mutation testing with timed automata. Graz University of Technology, GrazMATH Aichernig BK, Lorber F, Nickovic D (2013) Model-based mutation testing with timed automata. Graz University of Technology, GrazMATH
Zurück zum Zitat Anand S et al (2013) An orchestrated survey of methodologies for automated software test case generation. J Syst Softw 86(8):1978–2001CrossRef Anand S et al (2013) An orchestrated survey of methodologies for automated software test case generation. J Syst Softw 86(8):1978–2001CrossRef
Zurück zum Zitat Araujo W, Briand LC, Labiche Y (2014) On the effectiveness of contracts as test oracles in the detection and diagnosis of functional faults in concurrent object-oriented software. IEEE Trans Software Eng 40(10):971–992CrossRef Araujo W, Briand LC, Labiche Y (2014) On the effectiveness of contracts as test oracles in the detection and diagnosis of functional faults in concurrent object-oriented software. IEEE Trans Software Eng 40(10):971–992CrossRef
Zurück zum Zitat Arqub OA (2017) Adaptation of reproducing kernel algorithm for solving fuzzy Fredholm–Volterra integrodifferential equations. Neural Comput Appl 28(7):1591–1610CrossRef Arqub OA (2017) Adaptation of reproducing kernel algorithm for solving fuzzy Fredholm–Volterra integrodifferential equations. Neural Comput Appl 28(7):1591–1610CrossRef
Zurück zum Zitat Arqub OA et al (2016) Numerical solutions of fuzzy differential equations using reproducing kernel Hilbert space method. Soft Comput 20(8):3283–3302CrossRef Arqub OA et al (2016) Numerical solutions of fuzzy differential equations using reproducing kernel Hilbert space method. Soft Comput 20(8):3283–3302CrossRef
Zurück zum Zitat Arqub OA et al (2017) Application of reproducing kernel algorithm for solving second-order, two-point fuzzy boundary value problems. Soft Comput 21(23):7191–7206CrossRef Arqub OA et al (2017) Application of reproducing kernel algorithm for solving second-order, two-point fuzzy boundary value problems. Soft Comput 21(23):7191–7206CrossRef
Zurück zum Zitat Balci O (1998) Verification, validation, and testing. Handbook of Simulation 10:335–393CrossRef Balci O (1998) Verification, validation, and testing. Handbook of Simulation 10:335–393CrossRef
Zurück zum Zitat Belli F et al (2016) Model-based mutation testing—approach and case studies. Sci Comput Program 120:25–48CrossRef Belli F et al (2016) Model-based mutation testing—approach and case studies. Sci Comput Program 120:25–48CrossRef
Zurück zum Zitat Böhmer K, Rinderle-Ma S (2015) A systematic literature review on process model testing: approaches, challenges, and research directions. ArXiv preprint arXiv:1509.04076 Böhmer K, Rinderle-Ma S (2015) A systematic literature review on process model testing: approaches, challenges, and research directions. ArXiv preprint arXiv:​1509.​04076
Zurück zum Zitat de Bruijn V (2013) Model-based testing with graph grammars, Master's thesis, University of Twente, Enschede, The Netherlands de Bruijn V (2013) Model-based testing with graph grammars, Master's thesis, University of Twente, Enschede, The Netherlands
Zurück zum Zitat Di Nardo D et al (2015) Evolutionary robustness testing of data processing systems using models and data mutation (T). In: 2015 30th IEEE/ACM international conference on automated software engineering (ASE). IEEE Di Nardo D et al (2015) Evolutionary robustness testing of data processing systems using models and data mutation (T). In: 2015 30th IEEE/ACM international conference on automated software engineering (ASE). IEEE
Zurück zum Zitat Dias Neto AC et al (2007) A survey on model-based testing approaches: a systematic review. In: Proceedings of the 1st ACM international workshop on empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM international conference on automated software engineering (ASE) 2007. ACM Dias Neto AC et al (2007) A survey on model-based testing approaches: a systematic review. In: Proceedings of the 1st ACM international workshop on empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM international conference on automated software engineering (ASE) 2007. ACM
Zurück zum Zitat Eberhart R, Kennedy J (1995) Particle swarm optimization. In: Proceedings of the IEEE international conference on neural networks. Citeseer Eberhart R, Kennedy J (1995) Particle swarm optimization. In: Proceedings of the IEEE international conference on neural networks. Citeseer
Zurück zum Zitat Ehrig H, Ehrig K (2006) Overview of formal concepts for model transformations based on typed attributed graph transformation. Electron Notes Theor Comput Sci 152:3–22CrossRef Ehrig H, Ehrig K (2006) Overview of formal concepts for model transformations based on typed attributed graph transformation. Electron Notes Theor Comput Sci 152:3–22CrossRef
Zurück zum Zitat Ehrig H, Rozenberg G, Kreowski H-J (1999) Handbook of graph grammars and computing by graph transformation, vol 3. World Scientific, SingaporeCrossRef Ehrig H, Rozenberg G, Kreowski H-J (1999) Handbook of graph grammars and computing by graph transformation, vol 3. World Scientific, SingaporeCrossRef
Zurück zum Zitat Ehrig H, Prange U, Taentzer G (2004) Fundamental theory for typed attributed graph transformation. In: International conference on graph transformation. Springer Ehrig H, Prange U, Taentzer G (2004) Fundamental theory for typed attributed graph transformation. In: International conference on graph transformation. Springer
Zurück zum Zitat Engels G, Güldali B, Lohmann M (2006) Towards model-driven unit testing. In: International conference on model driven engineering languages and systems. Springer Engels G, Güldali B, Lohmann M (2006) Towards model-driven unit testing. In: International conference on model driven engineering languages and systems. Springer
Zurück zum Zitat Ferrer J et al (2015) Search based algorithms for test sequence generation in functional testing. Inf Softw Technol 58:419–432CrossRef Ferrer J et al (2015) Search based algorithms for test sequence generation in functional testing. Inf Softw Technol 58:419–432CrossRef
Zurück zum Zitat Fraser G, Arcuri A (2013) Whole test suite generation. IEEE Trans Software Eng 39(2):276–291CrossRef Fraser G, Arcuri A (2013) Whole test suite generation. IEEE Trans Software Eng 39(2):276–291CrossRef
Zurück zum Zitat Fraser G, Arcuri A, McMinn P (2015) A memetic algorithm for whole test suite generation. J Syst Softw 103:311–327CrossRef Fraser G, Arcuri A, McMinn P (2015) A memetic algorithm for whole test suite generation. J Syst Softw 103:311–327CrossRef
Zurück zum Zitat Gönczy L, Heckel R, Varró D (2007) Model-based testing of service infrastructure components. In: Testing of software and communicating systems. Springer, pp 155–170 Gönczy L, Heckel R, Varró D (2007) Model-based testing of service infrastructure components. In: Testing of software and communicating systems. Springer, pp 155–170
Zurück zum Zitat Grechanik M, Devanla G (2016) Mutation integration testing. In: 2016 IEEE international conference on software quality, reliability and security (QRS). IEEE Grechanik M, Devanla G (2016) Mutation integration testing. In: 2016 IEEE international conference on software quality, reliability and security (QRS). IEEE
Zurück zum Zitat Harman M, Jia Y, Zhang Y (2015) Achievements, open problems and challenges for search based software testing. In: 2015 IEEE 8th international conference on software testing, verification and validation (ICST). IEEE Harman M, Jia Y, Zhang Y (2015) Achievements, open problems and challenges for search based software testing. In: 2015 IEEE 8th international conference on software testing, verification and validation (ICST). IEEE
Zurück zum Zitat Haupt RL, Ellen Haupt S (2004) Practical genetic algorithms, 2nd edition. Wiley, New Jersey Haupt RL, Ellen Haupt S (2004) Practical genetic algorithms, 2nd edition. Wiley, New Jersey
Zurück zum Zitat Heckel R (2006) Graph transformation in a nutshell. Electron Notes Theor Comput Sci 148(1):187–198CrossRef Heckel R (2006) Graph transformation in a nutshell. Electron Notes Theor Comput Sci 148(1):187–198CrossRef
Zurück zum Zitat Heckel R, Mariani L (2004) Component integration testing by graph transformations. In: International conference on computer science, software engineering, information technology, e-business, and applications, Cairo. Citeseer Heckel R, Mariani L (2004) Component integration testing by graph transformations. In: International conference on computer science, software engineering, information technology, e-business, and applications, Cairo. Citeseer
Zurück zum Zitat Heckel R, Khan TA, Machado R (2011) Towards test coverage criteria for visual contracts. In: Proceedings of the Tenth International Workshop on Graph Transformation and Visual Modeling Techniques, Berlin Heckel R, Khan TA, Machado R (2011) Towards test coverage criteria for visual contracts. In: Proceedings of the Tenth International Workshop on Graph Transformation and Visual Modeling Techniques, Berlin
Zurück zum Zitat Hutchison C et al (2018) Robustness testing of autonomy software. In: Proceedings of the 40th international conference on software engineering: software engineering in practice. ACM Hutchison C et al (2018) Robustness testing of autonomy software. In: Proceedings of the 40th international conference on software engineering: software engineering in practice. ACM
Zurück zum Zitat ISC Committee (1990) IEEE standard glossary of software engineering terminology (IEEE Std 610.12-1990). Los Alamitos, CA: IEEE Computer Society, 169 ISC Committee (1990) IEEE standard glossary of software engineering terminology (IEEE Std 610.12-1990). Los Alamitos, CA: IEEE Computer Society, 169
Zurück zum Zitat Jonsson MBB, Leucker J-PKM, Pretschner A (2005) Model-based testing of reactive systems. Springer, BerlinMATH Jonsson MBB, Leucker J-PKM, Pretschner A (2005) Model-based testing of reactive systems. Springer, BerlinMATH
Zurück zum Zitat Kalaee A, Rafe V (2018) Model-based test suite generation for graph transformation system using model simulation and search-based techniques. Inf Softw Technol 108:1-29CrossRef Kalaee A, Rafe V (2018) Model-based test suite generation for graph transformation system using model simulation and search-based techniques. Inf Softw Technol 108:1-29CrossRef
Zurück zum Zitat Khan TA, Runge O, Heckel R (2012) Testing against visual contracts: model-based coverage. In: International conference on graph transformation. Springer Khan TA, Runge O, Heckel R (2012) Testing against visual contracts: model-based coverage. In: International conference on graph transformation. Springer
Zurück zum Zitat Khari M, Kumar P (2017) An extensive evaluation of search-based software testing: a review. Soft Comput 23(6):1933–1946CrossRef Khari M, Kumar P (2017) An extensive evaluation of search-based software testing: a review. Soft Comput 23(6):1933–1946CrossRef
Zurück zum Zitat König B et al (2018) A tutorial on graph transformation. In: Graph transformation, specifications, and nets. Springer, pp 83–104 König B et al (2018) A tutorial on graph transformation. In: Graph transformation, specifications, and nets. Springer, pp 83–104
Zurück zum Zitat Liu S (2016) Validating formal specifications using testing-based specification animation. In: Proceedings of the 4th FME workshop on formal methods in software engineering. ACM Liu S (2016) Validating formal specifications using testing-based specification animation. In: Proceedings of the 4th FME workshop on formal methods in software engineering. ACM
Zurück zum Zitat Lobo FG, Lima CF (2007) Adaptive population sizing schemes in genetic algorithms. In: Parameter setting in evolutionary algorithms. Springer, pp 185–204 Lobo FG, Lima CF (2007) Adaptive population sizing schemes in genetic algorithms. In: Parameter setting in evolutionary algorithms. Springer, pp 185–204
Zurück zum Zitat Lobo F, Lima CF, Michalewicz Z (2007) Parameter setting in evolutionary algorithms, vol 54. Springer, BerlinCrossRef Lobo F, Lima CF, Michalewicz Z (2007) Parameter setting in evolutionary algorithms, vol 54. Springer, BerlinCrossRef
Zurück zum Zitat Louzaoui K, Benlhachmi K (2017) A robustness testing approach for an object oriented model. JCP 12(4):335–353CrossRef Louzaoui K, Benlhachmi K (2017) A robustness testing approach for an object oriented model. JCP 12(4):335–353CrossRef
Zurück zum Zitat Ma Y-S, Offutt J, Kwon Y-R (2006) MuJava: a mutation system for Java. In: Proceedings of the 28th international conference on software engineering. ACM Ma Y-S, Offutt J, Kwon Y-R (2006) MuJava: a mutation system for Java. In: Proceedings of the 28th international conference on software engineering. ACM
Zurück zum Zitat Machado R, Ribeiro L, Heckel R (2015) Rule-based transformation of graph rewriting rules: towards higher-order graph grammars. Theoret Comput Sci 594:1–23MathSciNetCrossRef Machado R, Ribeiro L, Heckel R (2015) Rule-based transformation of graph rewriting rules: towards higher-order graph grammars. Theoret Comput Sci 594:1–23MathSciNetCrossRef
Zurück zum Zitat Mattiello-Francisco F et al (2012) InRob: an approach for testing interoperability and robustness of real-time embedded software. J Syst Softw 85(1):3–15CrossRef Mattiello-Francisco F et al (2012) InRob: an approach for testing interoperability and robustness of real-time embedded software. J Syst Softw 85(1):3–15CrossRef
Zurück zum Zitat Meyer B (1988) Object-oriented software construction, vol 2. Prentice Hall, New York Meyer B (1988) Object-oriented software construction, vol 2. Prentice Hall, New York
Zurück zum Zitat Offutt AJ (1992) Investigations of the software testing coupling effect. ACM Trans Softw Eng Methodol (TOSEM) 1(1):5–20CrossRef Offutt AJ (1992) Investigations of the software testing coupling effect. ACM Trans Softw Eng Methodol (TOSEM) 1(1):5–20CrossRef
Zurück zum Zitat Rafe V (2013) Scenario-driven analysis of systems specified through graph transformations. J Vis Lang Comput 24(2):136–145CrossRef Rafe V (2013) Scenario-driven analysis of systems specified through graph transformations. J Vis Lang Comput 24(2):136–145CrossRef
Zurück zum Zitat Rafe V, Rahmani M, Rashidi K (2013) A survey on coping with the state space explosion problem in model checking. Int Res J Appl Basic Sci 4(6):1379–1384 Rafe V, Rahmani M, Rashidi K (2013) A survey on coping with the state space explosion problem in model checking. Int Res J Appl Basic Sci 4(6):1379–1384
Zurück zum Zitat Rensink A (2003) The GROOVE simulator: a tool for state space generation. In: International workshop on applications of graph transformations with industrial relevance. Springer Rensink A (2003) The GROOVE simulator: a tool for state space generation. In: International workshop on applications of graph transformations with industrial relevance. Springer
Zurück zum Zitat Runge O, Khan TA, Heckel R (2013) Test case generation using visual contracts. In: Proceedings of the Tenth International Workshop on Graph Transformation and Visual Modeling Techniques, Berlin Runge O, Khan TA, Heckel R (2013) Test case generation using visual contracts. In: Proceedings of the Tenth International Workshop on Graph Transformation and Visual Modeling Techniques, Berlin
Zurück zum Zitat Satpathy M et al (2007) Automatic testing from formal specifications. In: International conference on tests and proofs. Springer Satpathy M et al (2007) Automatic testing from formal specifications. In: International conference on tests and proofs. Springer
Zurück zum Zitat Savary A et al (2015) Model-based robustness testing in event-B using mutation. In: SEFM 2015 collocated workshops. Springer Savary A et al (2015) Model-based robustness testing in event-B using mutation. In: SEFM 2015 collocated workshops. Springer
Zurück zum Zitat Schmidt A, Varró D (2003). CheckVML: a tool for model checking visual modeling languages. In: International conference on the unified modeling language. Springer Schmidt A, Varró D (2003). CheckVML: a tool for model checking visual modeling languages. In: International conference on the unified modeling language. Springer
Zurück zum Zitat Strug J (2016) Mutation testing approach to negative testing. J Eng Strug J (2016) Mutation testing approach to negative testing. J Eng
Zurück zum Zitat Taentzer G (2003) AGG: a graph transformation environment for modeling and validation of software. In: International workshop on applications of graph transformations with industrial relevance. Springer Taentzer G (2003) AGG: a graph transformation environment for modeling and validation of software. In: International workshop on applications of graph transformations with industrial relevance. Springer
Zurück zum Zitat Vos TE et al (2013) Evolutionary functional black-box testing in an industrial setting. Software Qual J 21(2):259–288MathSciNetCrossRef Vos TE et al (2013) Evolutionary functional black-box testing in an industrial setting. Software Qual J 21(2):259–288MathSciNetCrossRef
Zurück zum Zitat Whitley D, Gordon VS, Mathias K (1994) Lamarckian evolution, the Baldwin effect and function optimization. In: International conference on parallel problem solving from nature. Springer Whitley D, Gordon VS, Mathias K (1994) Lamarckian evolution, the Baldwin effect and function optimization. In: International conference on parallel problem solving from nature. Springer
Metadaten
Titel
Using memetic algorithm for robustness testing of contract-based software models
verfasst von
Anvar Bahrampour
Vahid Rafe
Publikationsdatum
06.08.2020
Verlag
Springer Netherlands
Erschienen in
Artificial Intelligence Review / Ausgabe 2/2021
Print ISSN: 0269-2821
Elektronische ISSN: 1573-7462
DOI
https://doi.org/10.1007/s10462-020-09881-y

Weitere Artikel der Ausgabe 2/2021

Artificial Intelligence Review 2/2021 Zur Ausgabe

Premium Partner