Falsification of Multiple Requirements for Cyber-Physical Systems Using Online Generative Adversarial Networks and Multi-Armed Bandits
We consider the problem of falsifying safety requirements of Cyber-Physical
Systems expressed in signal temporal logic (STL). This problem can be turned
into an optimization problem via STL robustness functions. In this paper, our
focus is in falsifying systems with multiple requirements. We propose to solve
such conjunctive requirements using online generative adversarial networks
(GANs) as test generators. Our main contribution is an algorithm which
falsifies a conjunctive requirement $\varphi_1 \land \cdots \land \varphi_n$ by
using a GAN for each requirement $\varphi_i$ separately. Using ideas from
multi-armed bandit algorithms, our algorithm only trains a single GAN at every
step, which saves resources. Our experiments indicate that, in addition to
saving resources, this multi-armed bandit algorithm can falsify requirements
with fewer number of executions on the system under test when compared to (i)
an algorithm training a single GAN for the complete conjunctive requirement and
(ii) an algorithm always training $n$ GANs at each step.