Testing Safety PLCs Using QuickCheck
Paper in proceedings, 2019

The testing of safety-related industrial systems is usually carried out by means of checklists. A tester has a list of scenarios that he or she manually applies to the system to check whether the system behaves according to its specification. However, operators behave unpredictably. Their behavior may not be covered by the set of scenarios tested and may lead to dangerous situations. To avoid this, randomized test case generation can be useful as it allows for unanticipated scenarios. The presented framework uses a tool for randomized test case generation, QuickCheck, to trigger event sequences that are then applied to a Safety Programmable Logic Controller (Safety PLC). Experiments show that this concept is capable of finding errors in safety code or increasing the tester's confidence in the correctness of the code by exhibiting a large number of passing test cases. While this concept proves to be powerful, it does not require much effort from the tester as the execution of test cases is done without user interaction.

Author

David Thonnessen

RWTH Aachen University

Nicholas Smallbone

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Martin Fabian

Chalmers, Electrical Engineering, Systems and control, Automation

Koen Claessen

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Stefan Kowalewski

RWTH Aachen University

IEEE International Conference on Automation Science and Engineering

21618070 (ISSN) 21618089 (eISSN)

Vol. 2019-August 1388-1393 8843227

15th IEEE International Conference on Automation Science and Engineering, CASE 2019
Vancouver, Canada,

Subject Categories

Embedded Systems

Computer Science

Computer Systems

DOI

10.1109/COASE.2019.8843227

More information

Latest update

9/23/2020