JuliaReach: a Toolbox for Set-Based Reachability
Sergiy Bogomolov, Marcelo Forets, Goran Frehse, Kostiantyn Potomkin, Christian Schilling
TL;DR
JuliaReach addresses the need for a fast, prototype-friendly toolbox for set-based reachability of continuous and hybrid dynamical systems. It couples LazySets, a lazy/concrete convex-set library, with Reachability, a framework for post operators, both implemented in Julia to balance high-level expressiveness with near-compiled performance. The approach leverages lazy set representations to scale to high dimensions while enabling on-demand concretization, demonstrated through case studies on LTI and hybrid systems and by benchmarking discrete-post operators against SpaceEx. Together, the work provides a reusable, extensible platform for rapid prototyping of reachability algorithms and their convex-set implementations, with broad practical impact for formal verification and safety analysis.
Abstract
We present JuliaReach, a toolbox for set-based reachability analysis of dynamical systems. JuliaReach consists of two main packages: Reachability, containing implementations of reachability algorithms for continuous and hybrid systems, and LazySets, a standalone library that implements state-of-the-art algorithms for calculus with convex sets. The library offers both concrete and lazy set representations, where the latter stands for the ability to delay set computations until they are needed. The choice of the programming language Julia and the accompanying documentation of our toolbox allow researchers to easily translate set-based algorithms from mathematics to software in a platform-independent way, while achieving runtime performance that is comparable to statically compiled languages. Combining lazy operations in high dimensions and explicit computations in low dimensions, JuliaReach can be applied to solve complex, large-scale problems.
