Skip to content

Tags: TUMcps/CORA

Tags

v2026.1.0

Toggle v2026.1.0's commit message
CORA v2026.1.0

- added MATLAB R2025b Docker image and made it the default
- conZonotope/polytope: added fast 2D constrained-zonotope to halfspace-polytope conversion
- contDynamics/falsify: added, disproves specifications by finding falsifying trajectories (white-box and black-box Monte-Carlo/Koopman algorithms)
- contDynamics/neurNetContrSys: added support for linearSys/linearSysDT/nonlinearSysDT/linParamSys as the plant dynamics
- contDynamics/simulateConstrained: bug fix, consistently return inputs in trajectory objects
- contDynamics/simulateRandom: added options.type = 'falsify' to obtain extreme trajectories via falsification
- contSet supportFunc_: refactored to share a common LP-based support-function helper with 'range' support and x0 warm-starting; spectraShadow/supportFunc_ bug fix
- contSet/double|single|sparse|full: added, converts the numeric properties of a set
- contSet/projVertices: added new fast 2D vertex-projection algorithm for much faster polytope projection and plotting
- contSet/projVertices: bug fix, collinear points could delete wrong vertex positions
- examples/nn/vnncomp: added hyperparameter tuning scripts (grid search with crash-safe resume) and an extensive verify test suite
- global/CORAtable: added 'time-detailed' column type
- global/plotPoints|plotPolygon|CORAwarning|enlargeAxis: bug fixes
- interval/randPoint: bug fix, set only containing the center
- matPolytope/matZonotope: bug fix, corrected dimensions in conversion
- neuralNetwork/computeReducedNetwork: added, automatic neuron-merging-based network reduction
- neuralNetwork/convertDLToolboxNetwork: bug fix, correctly handle ScalingLayer and skip CustomOutputLayer during ONNX conversion (fixed spurious violations in safeNLP and cora benchmarks)
- neuralNetwork/display: now recursively lists layers within nnCompositeLayer
- neuralNetwork/generateFromString: added, easy construction of neural networks from a string
- neuralNetwork/getNumParams: added, computes the number of learnable parameters
- neuralNetwork/verify: added specification-driven input refinement and a modular nnHeuristics package with new splitting heuristics (least-unstable-gradient, gap-/product-/centered-sensitivity, etc.)
- neuralNetwork/verify: integrated iterative-dual conZonotope bounding solver and split-tree visualization
- nn/nnActivationLayer/evaluateZonotopeBatch: bug fix, invalid interval bounds for negative activation slopes
- nn/nnActivationLayer: speed up through monotonicity exploitation
- nn/nnBatchNormLayer: bug fix in training gradient computation; simplified implementation
- nn/nnConvTranspose2DLayer: added, supports transposed 2D convolutions (deconvolutions), enabling GAN verification (cgan_2023 benchmark)
- nn/vnn-comp: added cascading specification constraints
- nn: added VNN-LIB 2.0 .vnnlib parser (declare-network blocks, multi-dimensional indexing, ==/isomorphic-to, multi-network specs) with full 1.x backward compatibility
- nn: added multi-network VNN-COMP support (monotonic_acasxu, isomorphic_acasxu) via a joint-network builder, plus VNN-LIB 2.0 counterexample output format
- nnHelper/buildJointNetwork: added, assembles a joint network and projects coupled input polytopes
- polyZonotope/volume: added volume computation for polynomial zonotopes
- polytope/plotHalfspaces: added, plots the halfspaces of a polytope
- polytope/project: bug fix, fallback projection when fourier.m is unavailable (ARM Macs)
- polytope/reduce: added
- reachSet/plot: bug fix, do not unify sets when plotting the time-point solution
- stl/gradientRobustness: added, computes the gradient through a temporal logic formula
- stl/robustnessEncodingMILP: added MILP encoding of STL robustness
- zonotope/reduceUnderApprox: added underapproximative order reduction methods

2026.0.1

Toggle 2026.0.1's commit message
CORA v2026.0.1

- contDynamics/conform: added outlier detection
- contDynamics/reach: bug fix
- contSet/plot: bug fix
- global/classes/confPredictor: added, makes set-based predictions with coverage guarantees

v2026.0.1

Toggle v2026.0.1's commit message
CORA v2026.0.1

- contDynamics/conform: added outlier detection
- contDynamics/reach: bug fix
- contSet/plot: bug fix
- global/classes/confPredictor: added, makes set-based predictions with coverage guarantees

v2026.0.0

Toggle v2026.0.0's commit message
CORA v2026.0.0

- Automatic system identification: It is now possible to automatically identify a suitable dynamic model from data and establish reachset conformance via the identify and conform operators. We also overhauled how trajectories are handled in CORA to improve efficiency. For details, please visit Sec. 4.1.9, Sec. 4.1.11, and Sec. 7.2.
- Neural network verification: We significantly improved the verification of neural networks in CORA, added the ability to verify graph neural networks, generate sufficient explanations for neural network predictions, and overhauled the training of verifiably robust neural networks. Details can be found in Sec. 6.
- Set containment certificate: While contains has always returned true if CORA was able to determine containment, a returned false might also indicate that containment holds, but CORA is not able to determine it. To eliminate this ambiguity, contains now also returns a certificate on the result. Details are described in Sec. 2.1.2.1.
- Visualizations: We revised the plotting capabilities of CORA and introduced a new default schema to plot sets to improve visibility on small monitors and beamers. It is also possible to create animated videos directly from CORA. Additionally, users might want to check CORAtables for better display of tabular data. For details, please visit Sec. 2.1.4.10.
- Repeatability package: If you want to use CORA as part of a repeatability package, we got you covered and provide a Docker file with all dependencies installed. Instructions on how to set it up can be found in Appendix F.
- Miscellaneous: Minor improvements have been made in various parts of the code: Some basic functionality runs more efficiently, several bug fixes result in an improved user experience, and more unit tests ensure greater reliability. Please also have a look at Appendix A.12 for deprecated functionality and their replacements.

v2025.2.0

Toggle v2025.2.0's commit message
CORA v2025.2.0

- ci: better handling of failed jobs and retries, now warns if the duration of a test changed drastically
- conZonotope/representsa: check for 'emptySet' makes use of polytope/representsa now
- converter/cora2spaceex: bug fix, reset assignments
- examples/ARCH'25 revisions
- global/CORAROOT: major speedup
- global/CORAerror: made help text clickable for convenience
- global/CORAlinprog: improved stability
- global/CORAtable: added 'rownr' and 'time' format, added 'csv' design
- global/checkValueAttributes: bug fix, gpuArrays
- global/codingConvention: enforced timerVal in tic-toc
- global/printCell: bug fixes
- global/printMatrix: bug fixes
- global/updateCORApath: should be faster now; no longer includes the repeatability template
- global/verbose: sets, systems, matrices, tables, etc. can now be printed directly into a file
- linearSys/Krylov: refactor, speed up, and improved testing
- linearSys/sparse|full: added
- matZonotope/contains: added
- matZonotope/randPoint: bug fix
- models: moved distributed model files into ./model folder
- neuralNetwork/calcSensitivity: fixed bug with incorrect size
- neuralNetwork/computeReducedNetwork: added, computes a reduced network with nice verification guarantees
- neuralNetwork/explain: added, computes provably sufficient explanations
- nn: added ability to verify graph neural networks
- nnActivationLayer: bug fix, large domains
- polygon/minkDiff: bug fix, reset vertices property
- polytope/project: bug fix, empty polytope did not return the correct polytope
- polytope/representa: emptySet, bug fix
- polytope/zonotope: added method 'inner'
- reachSet/hasTimeInterval: added
- reachSet/plot: bug fix, no time interval
- repeatability package: updates for clarity
- simResult/add: bug fix
- simResult/isemptyobject: bug fix
- specification/check: improved check of reachSet/simResult for timed specifications
- zonoBundle/generateRandom: bug fix
- zonotope/compact: bug fix, outputs are now consistent for 'all'
- zonotope/contains: speed up, if the zonotope represents an interval; bug fix, tolerances
- zonotope/reduce: added two methods based scaling
- zonotope/sparse|full: added
- zonotope/zonotopeNorm: bug fix, minimizer was not returned properly

v2025.1.1

Toggle v2025.1.1's commit message
CORA v2025.1.1

- conPolyZono/contains: bug fix, numeric inputs
- conPolyZono/randPoint: bug fix, avoid infinity loop
- conZonotope/isFullDim: added tolerance option
- ellipsoid/contains: bug fix
- emptySet/interval: uses interval/empty now for consistency
- emptySet/polytope: uses polytope/empty now for consistency
- fullspace/interval: uses interval/Inf now for consistency
- fullspace/polytope: uses polytope/Inf now for consistency
- global/CORAtable/printTable: added, prints a Matlab tables in CORA design
- global/CORAtable: added option to save content and reprint using a different design
- global/equalDimCheck: bug fix, broadcasting
- global/parameters: harmonized parameter validation
- global/testCase: add case distinction for computing y_a
- interval/center: fullspace intervals now return the origin instead of nan
- linearSysDT/reach: bug fix, last output set Y(N) was computed from u(N-1) instead of u(N)
- polygon/getHoles: added
- polygon/getRegions: added
- polygon/nrOfHoles: added
- polygon/nrOfRegions: added
- polygon/plot: bug fix, multiple regions
- polygon/subtract: added
- polytope/center: unconstrained polytopes now return the origin instead of nan
- polytope/contains: bug fix, given set is empty
- polytope/isemptyobject: bug fix, .inf/.empty cases
- unitTests: added test for major coding compatibility issues
- zonotope/plus: minor speed up

v2025.1.0

Toggle v2025.1.0's commit message
CORA v2025.1.0

- contDynamics/nrOfDims: added, renamed from nrOfStates
- contDynamics/printSystem: bug fix, function handles not printed correctly
- contSet/contains: major improvements, now also provides a certificate on its result
- contSet/plot: bug fix, better handling of (partially) transparent colors
- ellipsoid/zonotope: bug fix for 'inner:norm', returned zonotope now always has the desired number of generators
- neuralNetwork/computePGDAttack: bug fix, no upper and lower bound is set per default (apart from the epsilon radius)
- nonlinearSys/reach: fixes for special approximative reachability
- global/codingConventions: harmonized code writing throughout CORA
- global/macros/CORAGITBRANCH: added, returns the current git branch name
- global/printMatrix: bug fix, clearline flag was ignored if matrix has all zeros
- polygon/compact: bugfix for Douglas Peuker algorithm
- polyZonotope/exponentMatrix/id: improved merging of redundant exponents and ids
- polyZonotope/polyMap: bug fix, E with all-zero columns
- zonotope/reduce: added order reduction method from the Sadraddini-Tedrake paper

v2025.0.3

Toggle v2025.0.3's commit message
CORA v2025.0.3

- conZonotope/randPoint: bug fix
- global/CORAtable: added design 'markdown', bug fixes
- global/animations: added, allows users to animate computed sets for videos
- global/exponentialMatrix: removed helper class, functionality sufficiently covered by taylorLinSys
- global/videos: generalized functionality
- hybridDynamics: bug fixes
- linearSystems/reach: bug fixes, adaptive algorithm
- linearSystems/reachBackward: bug fixes
- polytope/mtimes: bug fix, multiplication with all-zero matrix
- polytope/plot: bug fix, unbounded sets
- reachSet/plot: bug fix, empty reachSet object
- repeatability package: added template to run CORA code on servers which can be used as repeatability package
- unitTests/ci: added script to run ci via docker
- zonotope/contains: bug fix, point in zonotope

v2025.0.2

Toggle v2025.0.2's commit message
CORA v2025.0.2

- conZonotope: A & b get converted to double now
- global/CORAlinprog: bug fix, problem fields not given as double
- global/print: bug fixes
- global/thirdparty/fourier: added mac mex file
- linearSys/reach: refactored adaptive algorithm
- polytope/center: added 'avg' method for v-polytope
- polytope/contains: bug fix in v-polytope

v2025.0.1

Toggle v2025.0.1's commit message
CORA v2025.0.1

- contSet/plot: bug fixes, in particular plotting of degenerate sets is more stable now
- polygon: bug fixes, degenerate sets
- polytope/vertices: bug fix, does not return internal points anymore