Mutation-Based Test Generation for PLC Embedded Software Using Model Checking

Abstract : Testing is an important activity in engineering of industrial embedded software. In certain application domains (e.g., railway industry) engineering software is certified according to safety standards that require extensive software testing procedures to be applied for the development of reliable systems. Mutation analysis is a technique for creating faulty versions of a software for the purpose of examining the fault detection ability of a test suite. Mutation analysis has been used for evaluating existing test suites, but also for generating test suites that detect injected faults (i.e., mutation testing). To support developers in software testing, we propose a technique for producing test cases using an automated test generation approach that operates using mutation testing for software written in IEC 61131-3 language, a programming standard for safety-critical embedded software, commonly used for Programmable Logic Controllers (PLCs). This approach uses the Uppaal model checker and is based on a combined model that contains all the mutants and the original program. We applied this approach in a tool for testing industrial PLC programs and evaluated it in terms of cost and fault detection. For realistic validation we collected industrial experimental evidence on how mutation testing compares with manual testing as well as automated decision-coverage adequate test generation. In the evaluation, we used manually seeded faults provided by four industrial engineers. The results show that even if mutation-based test generation achieves better fault detection than automated decision coverage-based test generation, these mutation-adequate test suites are not better at detecting faults than manual test suites. However, the mutation-based test suites are significantly less costly to create, in terms of testing time, than manually created test suites. Our results suggest that the fault detection scores could be improved by considering some new and improved mutation operators (e.g., Feedback Loop Insertion Operator (FIO)) for PLC programs as well as higher-order mutations.
Type de document :
Communication dans un congrès
Franz Wotawa; Mihai Nica; Natalia Kushik. 28th IFIP International Conference on Testing Software and Systems (ICTSS), Oct 2016, Graz, Austria. Springer International Publishing, Lecture Notes in Computer Science, LNCS-9976, pp.155-171, 2016, Testing Software and Systems. 〈10.1007/978-3-319-47443-4_10〉
Liste complète des métadonnées

Littérature citée [30 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01643718
Contributeur : Hal Ifip <>
Soumis le : mardi 21 novembre 2017 - 15:53:01
Dernière modification le : mardi 23 janvier 2018 - 13:26:01

Fichier

 Accès restreint
Fichier visible le : 2019-01-01

Connectez-vous pour demander l'accès au fichier

Licence


Distributed under a Creative Commons Paternité 4.0 International License

Identifiants

Citation

Eduard Enoiu, Daniel Sundmark, Adnan Čaušević, Robert Feldt, Paul Pettersson. Mutation-Based Test Generation for PLC Embedded Software Using Model Checking. Franz Wotawa; Mihai Nica; Natalia Kushik. 28th IFIP International Conference on Testing Software and Systems (ICTSS), Oct 2016, Graz, Austria. Springer International Publishing, Lecture Notes in Computer Science, LNCS-9976, pp.155-171, 2016, Testing Software and Systems. 〈10.1007/978-3-319-47443-4_10〉. 〈hal-01643718〉

Partager

Métriques

Consultations de la notice

37