The parameterized CROWN analysis, a.k.a., alpha-CROWN has emerged as a practically successful abstract interpretation method for neural network verification. However, existing implementations of alpha-CROWN are limited to Python, which complicates integration into existing DNN verifiers and long-term production-level systems. We introduce Luna, a new abstract-interpretation-based bound propagator implemented in C++. Luna supports Interval Bound Propagation, the DeepPoly/CROWN analysis, and the alpha-CROWN analysis over a general computational graph. We describe the architecture of Luna and show that it outperforms the state-of-the-art alpha-CROWN implementation in terms of both bound tightness and computational efficiency on supported benchmarks from VNN-COMP 2025. Luna is publicly available at https://github.com/ai-ar-research/luna.
Figures & tables
Figure 1: Family of valid linear relaxations for an unstable ReLU neuron with pre-activation bounds [l,u] . The lower bound can be given by any line across the origin with slope α∈[0,1] . Standard CROWN fixes α heuristically, while α -CROWN treats α as an optimizable parameter.
Figure 2: High-level overview of Luna ’s system architecture.
Category
Operation
CROWN
α -CROWN
Linear
Fully Connected (Gemm)
✓
✓
Convolution
✓
✓
BatchNormalization
✓
✓
Nonlinear Activation
ReLU
✓
✓
Sigmoid
✓
–
Elementwise
Add
✓
✓
Table 1: Currently supported operations in the Luna bound propagator.
Figure 3: Example CLI usage: verifying an ONNX model against a VNN-LIB property using α -CROWN with optimized upper and lower bounds.
Figure 4: Example C++ API usage: loading an ONNX model, setting input bounds, and computing optimized bounds via α -CROWN.
Figure 5: Example Python API usage: loading an ONNX model, setting input bounds, and computing an optimized bound via α -CROWN.
Category
Benchmark
Application
Network Types
# Params
Effective Input Dim
Complex
LinearizeNN
NN controller approximation
FC. + Conv. + Vision Transformer + Residual + ReLU
203,000
4
CNN & ResNet
Collins RUL CNN
Condition Based Maintenance
Conv. + ReLU, Dropout
60,000 – 262,000
400 – 800
cifar100
Image Classification
FC + Conv. + Residual, ReLU + BatchNorm
2.5M – 3.8M
3072
Metaroom
—
Conv. + FC, ReLU
466,000 – 7.4M
5376
MalBeWare
Malware Classification
FC + Conv. + ReLU
102,000 – 1.5M
4,000
cersyve
Neural Certificates for Control Systems
FC + Residual + ReLU
1,000 – 4,000
2 – 6
Table 2: Considered benchmarks from the VNN-COMP benchmark suite. # Params refers to the number of learnable parameters (weights and biases) in the network. Effective Input Dim is the number of input dimensions over which input properties are defined (e.g., cifar100 processes 32×32×3 images, giving an effective input dimension of 3,072).
Bench. (# inst.)
Luna
auto_LiRPA
Width
Time (s)
Finished
Width
Time (s)
Finished
acasxu_2023 (184)
867.42
1.41
184
882.90
6.19
184
cersyve (12)
4.27
1.23
12
4.38
6.77
12
cifar100_2024 (200)
4.63
44.88
170
4.62
136.59
100
collins_rul_cnn_2022 (62)
35.80
3.57
62
35.98
5.78
62
cora_2024 (60)
12073.43
8.37
60
12067.97
9.53
60
Table 3: CPU comparison of Luna and auto_LiRPA . Width: average interval across output dimensions. Time: average runtime per instance. Finished: instances for which the analysis terminated and returned bounds within the 300 s timeout. Width and Time averages include only instances where both tools finished.
Figure 6: Bound width (left) and runtime (right) for Cifar100 2024
Bench. (# inst.)
Luna
auto_LiRPA
Width
Time (s)
Finished
Width
Time (s)
Finished
acasxu_2023 (185)
863.74
3.94
185
879.27
13.06
185
cersyve (12)
4.27
3.79
12
4.38
13.08
12
cifar100_2024 (200)
4.23
13.32
200
4.23
25.37
200
collins_rul_cnn_2022 (62)
35.80
2.45
62
35.98
9.33
62
cora_2024 (60)
12073.44
5.25
60
12067.99
11.93
60
Table 4: GPU comparison of Luna and auto_LiRPA . Width: average interval across output dimensions. Time: average runtime per instance. Finished: instances for which the analysis terminated and returned bounds within the 300 s timeout. Width and Time averages include only instances where both tools finished.
Figure 7: Bound width (left) and runtime (right) for Cifar100 2024 (GPU)
Network
Luna
auto_LiRPA
Avg. Time (s)
Std. Dev.
Avg. Time (s)
Std. Dev.
Nano
0.53
0.02
4.81
0.10
Tiny
0.53
0.02
4.78
0.08
Table 5: Startup time comparison of Luna and auto_LiRPA (averaged over 50 iterations).
Appendix figures & tables24 assets
Supplementary material from the paper’s appendix.
Appendix
Figure 8: Linear relaxation bounds for ReLU over the unstable interval [ℓ,u] . The upper bound is the line from (ℓ,0) to (u,u) . The lower bound is chosen as hL=x when u≥∣ℓ∣ (Case 1), and hL=0 when u<∣ℓ∣ (Case 2).
Figure 9: Linear relaxation bounds for σ(x)=1/(1+e−x) over [ℓ,u] (blue dashed: hU ; red dashed: hL ). Case 1 ( 0≤ℓ ): σ is concave, so hU is a tangent line and hL is the chord through the endpoints. Case 2 ( u≤0 ): σ is convex and the roles are swapped. Case 3 ( ℓ<0<u ): σ transitions from convex to concave; hU passes through (ℓ,σ(ℓ)) and is tangent at some d≥0 , while hL passes through (u,σ(u)) and is tangent at some d≤0 , found via binary search.
Figure 10: Family of valid linear relaxations for an unstable ReLU neuron with pre-activation bounds [l,u] . The upper bound (blue dashed) is uniquely determined as the line connecting the points (l,0) and (u,u) . The lower bound (red) can be given by any valid slope, α∈[0,1] . Standard CROWN selects α via heuristic choice, while α -CROWN treats each αi as an optimizable parameter.
Figure 11: Bound width (left) and runtime (right) for Acasxu 2023
Figure 12: Bound width (left) and runtime (right) for Cersyve
Figure 13: Bound width (left) and runtime (right) for Collins Rul Cnn 2022
Figure 14: Bound width (left) and runtime (right) for Cora 2024
Figure 15: Bound width (left) and runtime (right) for Linearizenn 2024
Figure 16: Bound width (left) and runtime (right) for Malbeware
Figure 17: Bound width (left) and runtime (right) for Metaroom 2023
Figure 18: Bound width (left) and runtime (right) for Safenlp 2024
Figure 19: Bound width (left) and runtime (right) for Sat Relu
Figure 20: Bound width (left) and runtime (right) for Tllverifybench 2023
Figure 21: Bound width (left) and runtime (right) for Acasxu 2023 (GPU)
Figure 22: Bound width (left) and runtime (right) for Cersyve (GPU)
Figure 23: Bound width (left) and runtime (right) for Collins Rul Cnn 2022 (GPU)
Figure 24: Bound width (left) and runtime (right) for Cora 2024 (GPU)
Figure 25: Bound width (left) and runtime (right) for Linearizenn 2024 (GPU)
Figure 26: Bound width (left) and runtime (right) for Malbeware (GPU)
Figure 27: Bound width (left) and runtime (right) for Metaroom 2023 (GPU)
Figure 28: Bound width (left) and runtime (right) for Safenlp 2024 (GPU)
Figure 29: Bound width (left) and runtime (right) for Sat Relu (GPU)
Figure 30: Bound width (left) and runtime (right) for Tllverifybench 2023 (GPU)
Network
Layers
Activation
# Params
Input Dim
Nano
1
ReLU
1
1
Tiny
2
ReLU
4
1
Appendix
Table 6: Test networks used in startup time experiments.