A MATLAB toolkit for falsification using Koopman surrogate models.
FReaK is a novel framework that generates counterexamples for falsification of black-box models. We employ an iterative refinement technique based on surrogate modelling. In particular, simulations are used to construct a surrogate model for the system dynamics using data-driven Koopman operator linearization. The reachable set of states are then computed and combined with an encoding of the signal temporal logic specification in a mixed-integer linear program (MILP). To determine the next sample, the MILP solver computes the least robust trajectory inside the reachable set of the surrogate model. The trajectory's initial state and input signal are then executed on the original black-box system, where the specification is either falsified or additional simulation data is generated that we use to retrain the surrogate Koopman model and repeat the process.
FReaK requires the following prerequisites:
pip install autokoopman
We provide a setup script to help with installation. The script automatically installs prerequisites where possible or outlines which are missing via the command window. The script also makes necassary modifications to external toolboxes and removes any conflicting files from path. Add the FReaK folder and subfolders to path and run setup file setupKF.m
% Run setup file
setupKF
The script also ensure that only necessary prerequisites for our framework for external toolboxes (like CORA) are installed. For full functionality of each external toolbox, refer to their corresponding instructions.
Note that the only prerequisites that need manual installation are:
To test successful installation, run example script that falsifies a Vanderpol model and plots the falsification trace:
% Run Vanderpol falsification
falsifyVanderpol
FReaK has been published as a tool paper at the 27th ACM International Conference on Hybrid Systems: Computation and Control (HSCC) 2024, available here.
If you cite FReak, please cite
Bak, S., Bogomolov, S., Hekal, A., Kochdumper, N., Lew, E., Mata, A. and Rahmati, A., 2024, May. Falsification using Reachability of Surrogate Koopman Models. In Proceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control (pp. 1-13)
Bibtex:
@inproceedings{bak2024falsification,
title={Falsification using Reachability of Surrogate Koopman Models},
author={Bak, Stanley and Bogomolov, Sergiy and Hekal, Abdelrahman and Kochdumper, Niklas and Lew, Ethan and Mata, Andrew and Rahmati, Amir},
booktitle={Proceedings of the 27th ACM International Conference on Hybrid Systems: Computation and Control},
pages={1--13},
year={2024}
}