PRoTECT¶
Parallelized Construction of Safety Barrier Certificates for Nonlinear Polynomial Systems
PRoTECT is an open-source tool for verifying safety properties of dynamical systems through barrier certificate synthesis. It supports four classes of systems — discrete-time and continuous-time, deterministic and stochastic — using sum-of-squares (SOS) optimization with parallelized search across barrier degrees.
Searches across multiple barrier polynomial degrees in parallel using multiprocessing for faster certificate discovery.
Supports discrete-time and continuous-time systems, both deterministic and stochastic (dt-DS, dt-SS, ct-DS, ct-SS).
Use the PyQt6 graphical interface for interactive exploration or call functions directly from Python scripts.
Employs sum-of-squares optimization programs to systematically search for polynomial-type barrier certificates.
Getting Started¶
Install PRoTECT and its dependencies on Ubuntu, macOS, or Docker.
Define a system, compute a barrier certificate, and interpret the results.
Browse worked examples with figures: jet engine, Van der Pol, two-room, and more.
Complete reference for all barrier computation functions and utilities.
Supported System Types¶
System Type |
Time |
Noise |
Functions |
|---|---|---|---|
Discrete-Time Deterministic (dt-DS) |
Discrete |
None |
|
Discrete-Time Stochastic (dt-SS) |
Discrete |
Normal, Exponential, Uniform |
|
Continuous-Time Deterministic (ct-DS) |
Continuous |
None |
|
Continuous-Time Stochastic (ct-SS) |
Continuous |
Normal, Exponential, Uniform |
|
Citing PRoTECT¶
If you use PRoTECT in your research, please cite:
@inproceedings{wooding2025ictac,
title={PRoTECT: Parallelized ConstRuction of SafeTy BarriEr
Certificates for Nonlinear Polynomial SysTems},
author={Wooding, Ben and Horbanov, Viacheslav and Lavaei, Abolfazl},
booktitle={International Colloquium on Theoretical Aspects of Computing},
pages={448--458},
year={2025},
organization={Springer}
}