Planned maintenance
A system upgrade is planned for 10/12-2024, at 12:00-13:00. During this time DiVA will be unavailable.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Mutation-based test generation for PLC embedded software using model checking
Malardalens hogskola.
Swedish Institute of Computer Science.
Malardalens hogskola.
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0002-5179-4205
Show others and affiliations
2016 (English)In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) / [ed] Wotawa F.,Kushik N.,Nica M., Springer, 2016, Vol. 9976, p. 155-171Conference paper, Published paper (Refereed)
Abstract [en]

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.

Place, publisher, year, edition, pages
Springer, 2016. Vol. 9976, p. 155-171
Series
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), ISSN 0302-9743 ; 9976
Keywords [en]
Accident prevention; Application programs; Automation; Embedded software; Fault detection; Java programming language; Model checking; Programmable logic controllers; Safety engineering; Safety testing; Standards, Automated test generations; Decision coverage; Detection ability; Engineering software; Experimental evidence; Mutation analysis; Mutation operators; Uppaal model checkers, Software testing
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-13381DOI: 10.1007/978-3-319-47443-4_10ISI: 000389932400010Scopus ID: 2-s2.0-84992445107ISBN: 9783319474427 (print)OAI: oai:DiVA.org:bth-13381DiVA, id: diva2:1045929
Conference
28th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2016; Graz; Austria
Note

Conference of 28th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2016 ; Conference Date: 17 October 2016 Through 19 October 2016; Conference Code:185379

Available from: 2016-11-11 Created: 2016-11-11 Last updated: 2024-04-12Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Feldt, Robert

Search in DiVA

By author/editor
Feldt, Robert
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 171 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf