Finding Causally Different Tests for an Industrial Control System
Christopher M. Poskitt, Yuqi Chen, Jun Sun, Yu Jiang

TL;DR
This paper introduces a guided fuzzing method to generate causally diverse tests for industrial control systems, enhancing testing coverage by identifying meaningfully different manipulations of sensor and actuator inputs.
Contribution
It presents a formal framework and algorithm for finding causally different tests in ICSs, outperforming existing fuzzers in diversity of generated tests.
Findings
Found 106% more causally different tests than comparable fuzzers.
Formalized sensor/actuator manipulation strategies for ICS testing.
Demonstrated effectiveness on a real-world water treatment system.
Abstract
Industrial control systems (ICSs) are types of cyber-physical systems in which programs, written in languages such as ladder logic or structured text, control industrial processes through sensing and actuating. Given the use of ICSs in critical infrastructure, it is important to test their resilience against manipulations of sensor/actuator inputs. Unfortunately, existing methods fail to test them comprehensively, as they typically focus on finding the simplest-to-craft manipulations for a testing goal, and are also unable to determine when a test is simply a minor permutation of another, i.e. based on the same causal events. In this work, we propose a guided fuzzing approach for finding 'meaningfully different' tests for an ICS via a general formalisation of sensor/actuator-manipulation strategies. Our algorithm identifies the causal events in a test, generalises them to an equivalence…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Smart Grid Security and Resilience · Formal Methods in Verification
