<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Satisfiability Modulo Theories, August</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Goose: A Meta-Solver for Deep Neural Network Verification⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Joseph Scott</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guanting Pan</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elias B. Khalil</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vijay Ganesh</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Toronto</institution>
          ,
          <addr-line>Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Waterloo</institution>
          ,
          <addr-line>Ontario</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>1</volume>
      <fpage>1</fpage>
      <lpage>12</lpage>
      <abstract>
        <p>The verification of deep neural networks is a recent algorithmic challenge that has attracted significant interest, resulting in a wide array of complete and incomplete solvers that draw on diverse techniques. As is typical in hard search problems, no single solver is expected to be the fastest on all inputs. While this insight has been leveraged to boost Boolean Satisfiability (SAT), for instance, by combining or tuning solvers, it is yet to lead to a leap in the neural network verification domain. Towards this goal, we present Goose, a meta-solver for deep neural network verification. Goose's architecture supports a wide variety of complete and incomplete solvers and leverages three key metasolving techniques to improve eficiency: algorithm selection, probabilistic satisfiability inference, and time iterative deepening. Using Goose we observe an 47.3% improvement in PAR-2 score across over 800 benchmarks and 13 solvers from VNN-COMP '21.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Neural Network Verification</kwd>
        <kwd>Meta-Solving</kwd>
        <kwd>Algorithm Selection</kwd>
        <kwd>AI Safety</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Software engineers increasingly leverage machine learning (ML) due to its empirical ability
to implement some software functions from data [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This paradigm-shifting approach is
increasingly incorporated into safety-critical systems such as driverless cars and drones [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
In response, there have been several research initiatives to build systems that can give formal
guarantees on the behavior of such learned models.
      </p>
      <p>
        For example, consider the adversarial robustness problem. A desirable property of a ML
system is to fit the training data while being robust to small adversarial perturbations “in the
neighbourhood" of the training data. Surprisingly, researchers have shown that in the domain
of driverless cars, a deep neural network can be tricked into thinking a stop sign is a speed-limit
or green light if an adversary can put pieces of tape onto it [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Recently, several logical solvers
have been constructed to find these adversarial inputs or give a guarantee that they do not exist
[
        <xref ref-type="bibr" rid="ref10 ref11 ref4 ref5 ref6 ref7 ref8 ref9">4, 5, 6, 7, 8, 9, 10, 11</xref>
        ].
      </p>
      <p>
        As the deep neural network verification community grows, an emergent body of decision
procedures and semi-decision procedures has emerged. For a practitioner, it can be
overwhelming to determine the most suitable verifier for the desired application and instance at hand. For
example, complete algorithms we consider herein include: Reluplex – a lazy unwinding of ReLu
activations within the simplex algorithm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]; nnenum – a bound over-approximation algorithm
on starsets [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]; and Eager Translation – Direct translation of the problem into a Satisfiability
Modulo Theories (SMT) or Mixed Integer Linear Program (MILP) [
        <xref ref-type="bibr" rid="ref13 ref7">13, 7</xref>
        ]. Additionally,
incomplete techniques that we consider include one based on abstract-refinement [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], auto_LiRPA
[
        <xref ref-type="bibr" rid="ref10 ref8">8, 10</xref>
        ], projected gradient descent (PGD)[
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ], and fuzzing.
      </p>
      <p>
        This problem of algorithm selection [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is not unique to deep neural network verification.
For example, consider the competition-winning variant of the cvc5 SMT solver1. On just a
single logic (e.g., UF), 23 configurations of the cvc5 tool alone in a statically ordered sequential
portfolio are used to determine the satisfiability of the underlying benchmark. The authors
acknowledge this in the latest system description, which outlines speculative research initiatives
to implement better portfolios [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        In this paper, we present Goose2, a meta-solver – a solver designed around calling several
subsolvers for deep neural network verification. Goose implements three meta-solving techniques.
First, ML-driven algorithm selection based on empirical hardness models for runtime prediction.
Algorithm selection solutions have had tremendous empirical success in logic solver
communities [
        <xref ref-type="bibr" rid="ref18 ref19 ref20">18, 19, 20</xref>
        ]. Second, probabilistic satisfiability inference – a ML approach to determine
which subproblems are most likely satisfiable. Finally, time iterative deepening an exponentially
increasing wallclock timeout of the ML constructed sequential portfolio.
      </p>
      <p>
        Contributions. Specifically, this paper makes the following contributions:
1. The Goose Tool. We present Goose, a tool for deep neural network verification
(description Section 3 and architecture diagram Figure 1). The value-addition of Goose is
its meta-solver architecture, which implements a comprehensive approach to algorithm
selection, probabilistic satisfiability inference, and time interval deepening.
2. Evaluation on VNN-COMP ’21: We demonstrate the eficiency of Goose with a
competition-like evaluation over more than 800 instances from VNN-COMP ’21 against
13 competition solvers [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] such as ,  -CROWN [
        <xref ref-type="bibr" rid="ref10 ref11 ref8">8, 10, 11</xref>
        ], Verinet [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], ERAN [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and
Marabou [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] (Section 4). We observe that Goose improves over the competition winner,
,  -CROWN , by 47.3% in PAR-2 score (Figure 2, Table 1).
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>
        The Open Neural Network Exchange (ONNX) and VNN-LIB. ONNX is a research and
industrial initiative to standardize machine learning models [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. In the latest version (V13),
1https://github.com/cvc5/cvc5/blob/smtcomp2021/contrib/competitions/smt-comp/run-script-smtcomp-current
2Etymology: after the Canadian Goose (bird) in honor of Canada
DNN
(M)
Specification
(φ)
      </p>
      <p>Preprocessing
Internal Data Structures
Canonical Forms and</p>
      <p>Transformations</p>
      <p>Bounders
Forward/Backward
Interval Propogation
Auto LiRPA &amp; DeepPoly
)
,(φi
C
s
m
e
lr
b
o
p
b
u
S</p>
      <p>Problem Encoder
Feature Vectors</p>
      <p>ML Engine
(Pre-trained)
Algorithm Selection</p>
      <p>Algorithm
Decision Procedures</p>
      <p>Eager Blasting</p>
      <p>SCIP
Gurobi
cvc5
z3
ReluPlex nnenum
Semi-Decision
Procedures</p>
      <p>PGD Fuzzing
Incomplete Bounder +</p>
      <p>Eager</p>
      <p>Solver
Runtime
Prediction
(Sorted)
Probability of</p>
      <p>a SAT
Subproblem
(Sorted)</p>
      <p>Time Iterative</p>
      <p>Deepening
Time allocator</p>
      <p>Feedback
Al ocated PtroobRaeb-isliotirets No
Time
Selected Solver</p>
      <p>Ifal
Solved? No Subproblems</p>
      <p>UNSAT?
Yes</p>
      <p>Yes</p>
      <p>SAT
with Certificate</p>
      <p>UNSAT
syntax and semantics of computation graphs are outlined for 156 operations (e.g., ReLU, Gemm).
ONNX is widely supported across major deep learning platforms such as TensorFlow [24],
PyTorch [25], and Keras [26].</p>
      <p>The VNN-LIB is an international initiative with the aim of supporting neural network
verification research [ 27]. In the context of deep neural network verification, a verification
query requires two parts, a computation graph  and a specification  . For the former,
VNN-LIB defines syntax and semantics leveraging a subset of 17 ONNX operations, with the
latest competition benchmarks leveraging 15 operators.</p>
      <p>Problem Representations. Not all of the recently developed verifiers are compliant with
arbitrary linear properties. For example, several solvers do not support disjunctions or conjunctions
or linear real/integer constraints over the input/output. To overcome this, we leverage a recent
equivalence result:
Theorem 1 ([28]). Let  be a computation graph and let  be a linear specification over the
input/output behaviour of  (disjunctions, conjunctions, negations, and linear constraints). Then
there exists subproblems   such that Ψ = (  1, ... ) and each   is of the form
 ∈  ′ ∧  ∈ ′ ∧  ≤ 
for some interval  ′, ′, matrix , and vector , and input/output /.</p>
      <p>This theorem allows for us to construct a transformer  of the original problem to create an
equivalent disjunction. We will leverage this in multiple ways within Goose. A consequence,
however, is a worst case exponential blowup in the number of disjunctions.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Goose</title>
      <p>In this section, we describe Goose, a meta-solver for neural network verification; an architecture
diagram is shown in Figure 1. We first provide a high-level description of the tool before
developing each of its component in more detail.</p>
      <p>Goose leverages an empirical model  to make predictions on runtimes and probabilities of
satisfiability. This model is trained ofline and requires data collection. We elaborate on this
process in Section 4. In what follows, we assume the empirical model has already been trained.</p>
      <p>The input to Goose is a computation graph – a symbolic representation of the deep neural
network of interest –and a linear specification  over the input/output behaviour of  over
all  ∈  . Goose outputs UNSAT if and only if ∀ ∈  , () |=  . Goose supports the input
formats .onnx for computation graphs and .vnnlib for specifications.</p>
      <p>At the beginning, Goose loads the input into its respective internal data structures and
converts them into a disjunction over a canonical form (Theorem 1). Next, Goose featurizes the
input and leverages (trained) empirical hardness models to determine which solver should be
used; we refer to the aforementioned modules of Goose as the “Meta Empirical Engine". Solving
the algorithm selection task in this way allows for a novel scheme in which the meta-engine
can infer empirical probabilities of satisfiability for each of the individual disjuncts; then, the
problem corresponding to the disjunct that is most likely to be SAT is attacked first. Furthermore,
Goose employs a time iterative deepening which is inspired from the AI algorithm incremental
deepening [29] on two-player games. The intuition is that in practice, runtimes are either usually
either very short or long. Hence, when running a portfolio of algorithms, start with a shorter
wallclock portfolio timeout, and exponentially increase it if the portfolio failed. While this may
seem wasteful, it can be empirically efective.</p>
      <sec id="sec-3-1">
        <title>3.1. Solver Architecture</title>
        <p>Input/Output. The input to the Goose system is a computation graph  (in .onnx format)
and a specification over its input-output behaviour  (in .vnnlib format). We assume 
restricts the domain of  to be bounded in  (e.g., 0 ≤ ,  ≤ 1). On a successful run, Goose
outputs UNSAT if and only if ∀ ∈  , () |=  , otherwise SAT.</p>
        <p>Preprocessing. Goose has two key preprocessing steps. First, the inputs  and  are parsed
and loaded into flexible graph and specification classes. These classes were designed to have
significant utility to be later leveraged by a decision procedure. The second step is the conversion
into a canonical form. Specifically, we implement a transformer  that implements Theorem 1
so that
where each subproblem   is composed of interval constraints on the input ( ) and output (),
and a halfspace polytope constraint  ≤ , for some ,  computed by  . By leveraging  ,
we achieve a canonical form as each   :=  ∈  ′∧ ∈ ′∧ ≤ , for a computed  ′, ′, , .

 = ⋁︁  ,
Meta Empirical Engine. Goose implements a ML-driven engine to make predictions from
a dataset of empirical performance measurements that is constructed once in advance. The
engine is composed of three key components. First, a data management scheme which includes
select training data and online data collection schemes. Online data collection and retraining
can be useful when solving problems on unseen problem classes. We however do not consider
this in the paper. This can be done easily via the command-line interface and programmatic
API with user adjustable resource constraints. The second major component is the problem
encoder,  (;  ) that converts the input to a real valued feature vector. This feature vector is
extendable by the user3. Out-of-the-box, Goose has 500 features on the problem format4. The
last major component is the ML backend. Goose is platform-agnostic, abstracted around a base
class. We have support for and evaluation with pytorch [25], but allow for scikit-learn
[30], and XGBoost [31] solutions.</p>
        <p>Algorithms. Goose implements several decision procedures and semi-decision procedures
and configurations thereof. One widely spread technique is a direct or eager translation to a
core solver, such as MILP. Goose further supports two other complete algorithms, namely,
Reluplex and nnenum. This is done by leveraging Marabou’s and nnenum’s python API. Goose
supports semi-decision procedures Projected Gradient Descent (PGD), random fuzzing, and
over-approximation based bounding leveraging an eager translation.</p>
        <p>
          Bounders. Several decision procedures require that every operation is tensor-component-wise
bounded. For example, consider the  = ReLU() = max(0, ) activation function. If  can
be bounded by ℓ ≤  ≤ , then this can be expressed in MILP [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] or SMT (QF_LIA) as:
( ≤  − ℓ(1 − )) ∧ ( ≥ ) ∧ ( ≤  · ) ∧ ( ≥ 0) ∧  ∈ {0, 1}
Goose includes a forward/backward interval arithmetic [32, 33] driven bounding system, as well
as auto_LiRPA and DeepPoly. A bounding algorithm is either exact or an overapproximation. If
a complete decision procedure requires a bounding, and is given an over-approximation, then
the decision procedure becomes incomplete. We compute two sets of boundings, via exact
bounding algorithms and over-approximation bounding algorithms. The final bounding for
each is computed via an intersection.
        </p>
        <p>
          Eager Blasting5. One of the more sophisticated modules of Goose is its eager blasting engine.
The engine was designed to be agnostic to the underlying core solver. Goose implements a
base class that interacts with the engine. We provide support for the SCIP [34] and Gurobi [
          <xref ref-type="bibr" rid="ref24">35</xref>
          ]
MILP solvers in addition to the cvc5 [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] and z3 solver [
          <xref ref-type="bibr" rid="ref25">36</xref>
          ] (QF_LIRA).
        </p>
        <p>Execution Loop. Goose implements a main solving loop that leverages all the above
components. It is outlined in Algorithm 1 and described in Section 3.2. The key value-added of Goose</p>
        <sec id="sec-3-1-1">
          <title>3Note that this requires retraining</title>
          <p>4The feature vector includes a one hot encoding of built in solvers and their configurations. The value-addition of
this is to not require complete empirical labelling over all decision procedures
5We borrow this term from the SMT community</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Algorithm 1 The main execution loop of Goose Input: A computation graph  and a linear specification  over  Output: SAT/UNSAT 1: procedure Goose-MainLoop</title>
          <p>comes from three main features: First, its ability to leverage ML driven algorithm selection.
Second, its time iterative deepening strategy, which calls solvers with exponentially increasing
wallclock timeouts. We do not believe this has been considered in the logic solver context.
Third, probabilistic satisfiability inference leveraging the same ML model for algorithm selection,
except the label vector is extended to include SAT and UNSAT class labels. This allows for us
to infer probabilities of satisfiability of each   of  . As the ML model uses a feature vector
including the one-hot-encoding of the solver, an average over the set of solvers is taken. We are
not aware of such a scheme in the logic solver context.
◁  is the transform from Theorem 1
◁ Optional</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Algorithmic Description</title>
        <p>We next describe Algorithm 1, the main execution loop of Goose. For input ,  , Goose
implements the transformation  corresponding to Theorem 1, specifically,  (,  ) computes
the subproblems over the disjunction as specification graph pairs (line 2). Additionally, a flag
ℱ is used to denote whether or not a subproblem is solved (line 3). Goose then invokes the
meta-engine to use the problem encoder  over all subproblems to create feature vectors6 Upon
computing all feature vectors, we query the learnt model  to compute the probabilities of SAT
and predicted runtimes over the set of considered decision procedures . This is used to sort 
by probability of satisfiability (line 4).</p>
        <p>From here, we start the main loop (line 5). The termination condition is the conjunction over
ℱ (i.e., whether or not all problems in  are UNSAT) or if there exists a SAT subproblem. On the
ifrst iteration of the main loop, we first iterate over each ,   ∈ . We sort the set of decision
procedures  such that they are in descending order of inferred probability of satisafibility (line
12).</p>
        <p>On each iteration of the main loop, a global wallclock timeout for the iteration  initialized
to  (line 5) and is exponentially increased after each iteration (line 23). From here, we
leverage  and the computed features over the subproblems to determine a resource allocation
scheme   for  ∈ . We compute this by taking a softmin 7 over the predicted runtimes from
the empirical model  multiplied by the wallclock time limit  for this iteration divided by
subproblems (line 13). We next run the solver and save the result  (line 5). On a successful run
(i.e.,  ∈ {SAT, UNSAT}), we either terminate on SAT or on UNSAT mark the problems flag ℱ as
solved (line 19). At the end of the iteration of the loop, if the problem remains unsolved, we
exponentially increase the time increment.</p>
        <p>Implementation Details. Goose is built on python 3.8 and can be run via command-line or
python API. Preprocessing was built leveraging the onnx python packages. The meta-engine
was built with the assistance of pandas, pytorch, and scikit-learn. We implement our
forward and backward interval internally and leverage auto_LiRPA for incomplete bounding
verification and handling of select activations.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation</title>
      <p>In this section, we present an empirical evaluation of Goose over VNN-COMP ’21 instances
and its computation environment.</p>
      <sec id="sec-4-1">
        <title>4.1. Experimental Setup</title>
        <p>Empirical Model Architecture. We construct the empirical model using PyTorch. The
empirical model is an 8-layer fully-connected neural network with 1024 neurons per layer for
a total of 25M parameters. Each hidden layer is composed of a linear layer with bias, batch
normalization, dropout (p=0.25), and ReLU activations.
6In the worst case, an exponential number of of sub-problems and feature vectors need to be computed, however,
this is rarely observed in practice.
7softmin(⃗) = exp(− )/ ∑︀ exp(− )</p>
        <p>
          Empirical Model Training Setup. We generate a training dataset of 10,000 instances produced
by using a random fuzzer over VNN-LIB [
          <xref ref-type="bibr" rid="ref26">37</xref>
          ]. An instance is generated and solved across all
considered solvers, with a 30-second timeout8. This data collection is performed on Compute
Canada [
          <xref ref-type="bibr" rid="ref27">38</xref>
          ], particularly on a CentOS V7 cluster of Intel Xeon Processor E5-2683 running at
2.10 GHz with 8 GB of memory. Wallclock runtimes are rounded to the nearest second. All
solvers were ran sequentially. For labels we use log PAR-2 scores. A PAR-2 is the wallclock
runtime if successful, else twice the wallclock timeout. The empirical model was trained with
Adam [
          <xref ref-type="bibr" rid="ref28">39</xref>
          ] and a learning rate of 4 · 10− 4, mean squared error loss, and 1 · 10− 4 weight decay
on a NVIDIA1080 GPU for 2 hours.
        </p>
        <p>
          Computation Environment. The evaluation was ran on the Amazon Web Service (AWS). Per
VNN-COMP rules, since some tools are either CPU or GPU based, there are two diferent types
of AWS instances depending on the solver [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. We evaluate Goose on the GPU instance.
8This is not used in the main experiment, and is only lowered to increase data collection times
Solver
        </p>
        <p>Solvers. For complete decision procedures we use the following: Reluplex (via Marabou),
nnenum, Eager Blasting + SCIP, Eager Blasting + Gurobi, Eager Blasting + cvc5, Eager Blasting +
z3. For incomplete procedures, we consider two configurations of PGD and two configurations
of random fuzzing. Additionally, we consider two variants of incomplete bounding within
auto_LiRPA for both Gurobi and SCIP. This yields a set of || = 14 decision procedures.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Results</title>
        <p>The cactus plot of the evaluation is presented in Figure 2. A cactus plot is a visualization of a
solver’s performance on a instance suite. The horizontal axis represents the number of instances
solved (higher is better) and the vertical axis is the instance-wise PAR-2 (lower is better). In
Figure 2, we observe that Goose outperforms the competition winning solver  - CROWN.</p>
        <p>Table 1 presents the PAR-2 across all instances for all solvers. The PAR-2 score of a solver on
a instance is the wallclock runtime if successful, otherwise twice the wallclock runtime (lower
is better). We observe Goose to improve on the competition winning solver  - CROWN by
47.3% in PAR-2 score.</p>
        <p>VNN-COMP ’21 determined competition winners via a custom scoring scheme. We do not
consider this. However, the standings of the competition are highly correlated.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Analysis</title>
        <p>
          One possible limitation of any ML-driven approach is that it is dificult to generalize to novel
problem occurrences and not overfit to ones it has been trained on. While this evaluation is
limited to 800 instances from VNN-COMP, the training dataset was produced from a completely
independent class of problems [
          <xref ref-type="bibr" rid="ref26">37</xref>
          ]. As such, our approach does not seem to sufer from the
aforementioned issues.
        </p>
        <p>The incomplete solvers were notably particularly efective, in particular on the first round of
the incremental deepening. PGD was extremely efective on SAT instances. Complete verifiers
have a strong preference for Gurobi, while Gurobi did outperform SCIP in general, SCIP was
observed faster on several instances, with up to a 7x improvement over Gurobi.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>Perhaps the biggest inspirations and insights of this work were from DNNV [28]. In particular,
Theorem 1 for the canonical form. This further enabled the probabilistic satisfiability inference
of Goose.</p>
      <p>
        Algorithm selection tools have a rich history and have been around since at least 1976 when
Rice et al. first proposed it [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Algorithm selectors have been extensively used in many
contexts, e.g., classifiers for machine learning [
        <xref ref-type="bibr" rid="ref29">40</xref>
        ], combinatorics [
        <xref ref-type="bibr" rid="ref30">41</xref>
        ], and other NP-hard
optimization problems [
        <xref ref-type="bibr" rid="ref31 ref32">42, 43</xref>
        ].
      </p>
      <p>
        Within the context of logic solvers, algorithm selectors have been proposed for SAT [
        <xref ref-type="bibr" rid="ref33 ref34 ref35">44, 45, 46</xref>
        ]
and Quantified Boolean Formulas [ 47, 48]. Scott et al. proposed the MachSMT algorithm
selection tool for SMT Solvers [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. A system for dynamic algorithm selection over SMT solvers
was also recently proposed [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this paper, we presented Goose, a solver for deep neural network vericfiation. Goose has
a meta-solver architecture (Figure 1) and supports a wide variety of decision procedures and
semi-decision procedure. Goose leverages three key meta-solving techniques to further improve
eficiency, namely, algorithm selection, probabilistic satisfiability inference, and time interval
deepening. Using Goose we observe a 47.3% improvement across benchmarks and solvers from
VNN-COMP ’21.</p>
      <p>
        Future Work. Logic solvers for SAT, SMT, and MILP, among others, often implement several
configurations of a base decision procedure, as there is no known universally optimal procedure
for such hard search and optimization problems. This phenomenon has been observed across
numerous communities [
        <xref ref-type="bibr" rid="ref19 ref20">19, 49, 20</xref>
        ], and this paper suggests something analogous for VNN-LIB
solvers. Despite this success, several modern logic solvers architectures do not take this into
account. This poses challenges when incorporating meta-solving with existing solvers. With
the empirical success of Goose, we believe meta-solving should be seen as a “first-class citizen"
engineering (standard, not meta) solvers in the future.
      </p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>Thanks to Piyush Jha for feedback and improvements on Figure 1.
[24] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis,
J. Dean, M. Devin, S. Ghemawat, I. J. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia,
R. Józefowicz, L. Kaiser, M. Kudlur, J. Levenberg, D. Mané, R. Monga, S. Moore, D. G. Murray,
C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, P. A. Tucker, V. Vanhoucke,
V. Vasudevan, F. B. Viégas, O. Vinyals, P. Warden, M. Wattenberg, M. Wicke, Y. Yu, X. Zheng,
Tensorflow: Large-scale machine learning on heterogeneous distributed systems, CoRR
abs/1603.04467 (2016). URL: http://arxiv.org/abs/1603.04467. arXiv:1603.04467.
[25] A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin,
N. Gimelshein, L. Antiga, A. Desmaison, A. Köpf, E. Z. Yang, Z. DeVito, M.
Raison, A. Tejani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, S. Chintala, Pytorch:
An imperative style, high-performance deep learning library, in: H. M. Wallach,
H. Larochelle, A. Beygelzimer, F. d’Alché-Buc, E. B. Fox, R. Garnett (Eds.), Advances
in Neural Information Processing Systems 32: Annual Conference on Neural
Information Processing Systems 2019, NeurIPS 2019, December 8-14, 2019, Vancouver,
BC, Canada, 2019, pp. 8024–8035. URL: https://proceedings.neurips.cc/paper/2019/hash/
bdbca288fee7f92f2bfa9f7012727740-Abstract.html.
[26] F. Chollet, et al., Keras, https://keras.io, 2015.
[27] The Verification of Neural Networks Library (VNN-LIB), www.vnnlib.org, 2019.
[28] D. Shriver, S. G. Elbaum, M. B. Dwyer, DNNV: A framework for deep neural network
verification, in: A. Silva, K. R. M. Leino (Eds.), Computer Aided Verification - 33rd
International Conference, CAV 2021, Virtual Event, July 20-23, 2021, Proceedings, Part
I, volume 12759 of Lecture Notes in Computer Science, Springer, 2021, pp. 137–150. URL:
https://doi.org/10.1007/978-3-030-81685-8_6. doi:10.1007/978-3-030-81685-8\_6.
[29] A. Reinefeld, T. A. Marsland, Enhanced iterative-deepening search, IEEE Trans.</p>
      <p>Pattern Anal. Mach. Intell. 16 (1994) 701–710. URL: https://doi.org/10.1109/34.297950.
doi:10.1109/34.297950.
[30] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel,
P. Prettenhofer, R. Weiss, V. Dubourg, J. VanderPlas, A. Passos, D. Cournapeau, M. Brucher,
M. Perrot, E. Duchesnay, Scikit-learn: Machine learning in python, J. Mach. Learn. Res. 12
(2011) 2825–2830. URL: http://dl.acm.org/citation.cfm?id=2078195.
[31] T. Chen, C. Guestrin, Xgboost: A scalable tree boosting system, in: B. Krishnapuram,
M. Shah, A. J. Smola, C. C. Aggarwal, D. Shen, R. Rastogi (Eds.), Proceedings of the 22nd
ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San
Francisco, CA, USA, August 13-17, 2016, ACM, 2016, pp. 785–794. URL: https://doi.org/10.
1145/2939672.2939785. doi:10.1145/2939672.2939785.
[32] S. Gowal, K. Dvijotham, R. Stanforth, R. Bunel, C. Qin, J. Uesato, R. Arandjelovic, T. Mann,
P. Kohli, On the efectiveness of interval bound propagation for training verifiably robust
models, arXiv preprint arXiv:1810.12715 (2018).
[33] T. Hickey, Q. Ju, M. H. Van Emden, Interval arithmetic: From principles to implementation,</p>
      <p>Journal of the ACM (JACM) 48 (2001) 1038–1068.
[34] K. Bestuzheva, M. Besançon, W.-K. Chen, A. Chmiela, T. Donkiewicz, J. van Doornmalen,
L. Eifler, O. Gaul, G. Gamrath, A. Gleixner, L. Gottwald, C. Graczyk, K. Halbig, A. Hoen,
C. Hojny, R. van der Hulst, T. Koch, M. Lübbecke, S. J. Maher, F. Matter, E. Mühmer,
B. Müller, M. E. Pfetsch, D. Rehfeldt, S. Schlein, F. Schlösser, F. Serrano, Y. Shinano,
portfolio for sat, SAT 4 (2009) 53–55.
[47] Y. Malitsky, Evolving instance-specific algorithm configuration, in: Instance-Specific</p>
      <p>Algorithm Configuration, Springer, 2014, pp. 93–105.
[48] L. Pulina, A. Tacchella, A multi-engine solver for quantified boolean formulas, in:
C. Bessiere (Ed.), Principles and Practice of Constraint Programming - CP 2007, 13th
International Conference, CP 2007, Providence, RI, USA, September 23-27, 2007,
Proceedings, volume 4741 of Lecture Notes in Computer Science, Springer, 2007, pp. 574–589.
doi:10.1007/978-3-540-74970-7\_41.
[49] A. Shukla, A. Biere, L. Pulina, M. Seidl, A survey on applications of quantified boolean
formulas, in: 31st IEEE International Conference on Tools with Artificial Intelligence,
ICTAI 2019, Portland, OR, USA, November 4-6, 2019, IEEE, 2019, pp. 78–84. URL: https:
//doi.org/10.1109/ICTAI.2019.00020. doi:10.1109/ICTAI.2019.00020.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kaiser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. N.</given-names>
            <surname>Gomez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Shazeer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaswani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Parmar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Uszkoreit</surname>
          </string-name>
          ,
          <article-title>One model to learn them all</article-title>
          ,
          <source>CoRR abs/1706</source>
          .05137 (
          <year>2017</year>
          ). URL: http://arxiv.org/abs/1706.05137. arXiv:
          <volume>1706</volume>
          .
          <fpage>05137</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Manfredi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jestin</surname>
          </string-name>
          ,
          <article-title>An introduction to acas xu and the challenges ahead</article-title>
          ,
          <source>in: 2016 IEEE/AIAA 35th Digital Avionics Systems Conference (DASC)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Eykholt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Evtimov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Fernandes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rahmati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tramèr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Prakash</surname>
          </string-name>
          , T. Kohno,
          <article-title>Physical adversarial examples for object detectors</article-title>
          , in: C.
          <string-name>
            <surname>Rossow</surname>
          </string-name>
          , Y. Younan (Eds.),
          <source>12th USENIX Workshop on Ofensive Technologies, WOOT</source>
          <year>2018</year>
          ,
          <article-title>Baltimore</article-title>
          ,
          <string-name>
            <surname>MD</surname>
          </string-name>
          , USA,
          <year>August</year>
          13-
          <issue>14</issue>
          ,
          <year>2018</year>
          ,
          <string-name>
            <given-names>USENIX</given-names>
            <surname>Association</surname>
          </string-name>
          ,
          <year>2018</year>
          . URL: https://www.usenix.org/conference/ woot18/presentation/eykholt.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. W.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Julian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Kochenderfer</surname>
          </string-name>
          ,
          <string-name>
            <surname>Reluplex:</surname>
          </string-name>
          <article-title>An eficient SMT solver for verifying deep neural networks</article-title>
          , in: R.
          <string-name>
            <surname>Majumdar</surname>
          </string-name>
          , V. Kuncak (Eds.),
          <source>Computer Aided Verification - 29th International Conference, CAV 2017</source>
          , Heidelberg, Germany,
          <source>July 24-28</source>
          ,
          <year>2017</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , volume
          <volume>10426</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2017</year>
          , pp.
          <fpage>97</fpage>
          -
          <lpage>117</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -63387-
          <issue>9</issue>
          _5. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -63387-9\_5.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Salman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , C.-
          <string-name>
            <surname>J. Hsieh</surname>
            ,
            <given-names>P. Zhang,</given-names>
          </string-name>
          <article-title>A convex relaxation barrier to tight robustness verification of neural networks</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>32</volume>
          (
          <year>2019</year>
          )
          <fpage>9835</fpage>
          -
          <lpage>9846</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Maurer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mirman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Gehr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hofmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tsankov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Püschel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vechev</surname>
          </string-name>
          ,
          <article-title>Eth robustness analyzer for neural networks (eran</article-title>
          ),
          <year>2020</year>
          , URL https://github.com/eth-sri/eran (????).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>V.</given-names>
            <surname>Tjeng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. Y.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tedrake</surname>
          </string-name>
          ,
          <article-title>Evaluating robustness of neural networks with mixed integer programming</article-title>
          ,
          <source>in: 7th International Conference on Learning Representations, ICLR</source>
          <year>2019</year>
          ,
          <article-title>New Orleans</article-title>
          , LA, USA, May 6-
          <issue>9</issue>
          ,
          <year>2019</year>
          , OpenReview.net,
          <year>2019</year>
          . URL: https: //openreview.net/forum?id=HyGIdiRqtm.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jana</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-J. Hsieh</surname>
            ,
            <given-names>J. Z.</given-names>
          </string-name>
          <string-name>
            <surname>Kolter</surname>
          </string-name>
          , Beta-CROWN:
          <article-title>Eficient bound propagation with per-neuron split constraints for complete and incomplete neural network verification</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>34</volume>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.-W.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kailkhura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-J. Hsieh</surname>
          </string-name>
          ,
          <article-title>Automatic perturbation analysis for scalable certified robustness and beyond</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>33</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-J. Hsieh</surname>
          </string-name>
          ,
          <article-title>Fast and Complete: Enabling complete neural network verification with rapid and massively parallel incomplete verifiers</article-title>
          ,
          <source>in: International Conference on Learning Representations</source>
          ,
          <year>2021</year>
          . URL: https://openreview. net/forum?id=nVZtXBI6LNn.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , T.-W. Weng, P.-Y. Chen,
          <string-name>
            <surname>C.-J. Hsieh</surname>
          </string-name>
          , L. Daniel,
          <article-title>Eficient neural network robustness certification with general activation functions</article-title>
          ,
          <source>Advances in Neural Information Processing Systems</source>
          <volume>31</volume>
          (
          <year>2018</year>
          )
          <fpage>4939</fpage>
          -
          <lpage>4948</lpage>
          . URL: https://arxiv.org/pdf/
          <year>1811</year>
          .00866.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bak</surname>
          </string-name>
          ,
          <article-title>nnenum: Verification of relu neural networks with optimized abstraction refinement</article-title>
          , in: A.
          <string-name>
            <surname>Dutle</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M. Moscato</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Titolo</surname>
            ,
            <given-names>C. A.</given-names>
          </string-name>
          <string-name>
            <surname>Muñoz</surname>
          </string-name>
          , I. Perez (Eds.),
          <source>NASA Formal Methods - 13th International Symposium, NFM</source>
          <year>2021</year>
          ,
          <string-name>
            <given-names>Virtual</given-names>
            <surname>Event</surname>
          </string-name>
          , May
          <volume>24</volume>
          -28,
          <year>2021</year>
          , Proceedings, volume
          <volume>12673</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>36</lpage>
          . URL: https: //doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -76384-
          <issue>8</issue>
          _2. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -76384-8\_2.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Henriksen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <article-title>Eficient neural network verification via adaptive refinement and adversarial search</article-title>
          , in: G. D.
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Catalá</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Dilkina</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Milano</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Barro</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bugarín</surname>
          </string-name>
          , J. Lang (Eds.),
          <source>ECAI 2020 - 24th European Conference on Artificial Intelligence</source>
          ,
          <volume>29</volume>
          <fpage>August</fpage>
          -8
          <source>September</source>
          <year>2020</year>
          , Santiago de Compostela, Spain,
          <source>August 29 - September 8, 2020 - Including 10th Conference on Prestigious Applications of Artificial Intelligence (PAIS</source>
          <year>2020</year>
          ), volume
          <volume>325</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          , IOS Press,
          <year>2020</year>
          , pp.
          <fpage>2513</fpage>
          -
          <lpage>2520</lpage>
          . URL: https://doi.org/10.3233/FAIA200385. doi:
          <volume>10</volume>
          .3233/FAIA200385.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Wainwright</surname>
          </string-name>
          ,
          <article-title>Fast low-rank estimation by projected gradient descent: General statistical and algorithmic guarantees</article-title>
          ,
          <source>CoRR abs/1509</source>
          .03025 (
          <year>2015</year>
          ). URL: http: //arxiv.org/abs/1509.03025. arXiv:
          <volume>1509</volume>
          .
          <fpage>03025</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. H.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. Q.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. T.</given-names>
            <surname>McCann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Unser</surname>
          </string-name>
          ,
          <article-title>Cnn-based projected gradient descent for consistent CT image reconstruction</article-title>
          ,
          <source>IEEE Trans. Medical Imaging</source>
          <volume>37</volume>
          (
          <year>2018</year>
          )
          <fpage>1440</fpage>
          -
          <lpage>1453</lpage>
          . URL: https://doi.org/10.1109/TMI.
          <year>2018</year>
          .
          <volume>2832656</volume>
          . doi:
          <volume>10</volume>
          .1109/TMI.
          <year>2018</year>
          .
          <volume>2832656</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Rice</surname>
          </string-name>
          ,
          <article-title>The algorithm selection problem</article-title>
          ,
          <source>Adv. Comput</source>
          .
          <volume>15</volume>
          (
          <year>1976</year>
          )
          <fpage>65</fpage>
          -
          <lpage>118</lpage>
          . URL: https: //doi.org/10.1016/S0065-
          <volume>2458</volume>
          (
          <issue>08</issue>
          )
          <fpage>60520</fpage>
          -
          <lpage>3</lpage>
          . doi:
          <volume>10</volume>
          .1016/S0065-
          <volume>2458</volume>
          (
          <issue>08</issue>
          )
          <fpage>60520</fpage>
          -
          <lpage>3</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>H.</given-names>
            <surname>Barbosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brain</surname>
          </string-name>
          , G. Kremer,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lachnitt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohamed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niemetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nötzli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ozdemir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Preiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Reynolds</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tinelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Zohar,</surname>
          </string-name>
          <article-title>cvc5: A versatile and industrial-strength SMT solver</article-title>
          , in: D.
          <string-name>
            <surname>Fisman</surname>
          </string-name>
          , G. Rosu (Eds.),
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems -</article-title>
          28th International Conference, TACAS 2022,
          <article-title>Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022</article-title>
          , Munich, Germany, April 2-
          <issue>7</issue>
          ,
          <year>2022</year>
          , Proceedings, to appear, Lecture Notes in Computer Science,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>N.</given-names>
            <surname>Pimpalkhare</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mora</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Polgreen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Seshia</surname>
          </string-name>
          ,
          <article-title>Medleysolver: Online SMT algorithm selection</article-title>
          , in: C.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Manyà</surname>
          </string-name>
          (Eds.),
          <source>Theory and Applications of Satisfiability Testing - SAT 2021 - 24th International Conference, Barcelona, Spain, July 5-9</source>
          ,
          <year>2021</year>
          , Proceedings, volume
          <volume>12831</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>453</fpage>
          -
          <lpage>470</lpage>
          . URL: https: //doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -80223-3_
          <fpage>31</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -80223-3\_
          <fpage>31</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Scott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Niemetz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Preiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Nejati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <string-name>
            <surname>Machsmt:</surname>
          </string-name>
          <article-title>A machine learning-based algorithm selector for SMT solvers</article-title>
          , in: J.
          <string-name>
            <given-names>F.</given-names>
            <surname>Groote</surname>
          </string-name>
          , K. G. Larsen (Eds.),
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems -</article-title>
          27th International Conference, TACAS 2021,
          <article-title>Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021</article-title>
          ,
          <string-name>
            <given-names>Luxembourg</given-names>
            <surname>City</surname>
          </string-name>
          , Luxembourg, March 27 - April 1,
          <year>2021</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>II</given-names>
          </string-name>
          , volume
          <volume>12652</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>325</lpage>
          . URL: https: //doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -72013-1_
          <fpage>16</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -72013-1\_
          <fpage>16</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>Satzilla: Portfolio-based algorithm selection for SAT</article-title>
          ,
          <source>CoRR abs/1111</source>
          .2249 (
          <year>2011</year>
          ). URL: http://arxiv.org/abs/1111.2249. arXiv:
          <volume>1111</volume>
          .
          <fpage>2249</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bak</surname>
          </string-name>
          , C. Liu, T. T. Johnson,
          <article-title>The second international verification of neural networks competition (VNN-COMP</article-title>
          <year>2021</year>
          )
          <article-title>: Summary and results</article-title>
          ,
          <source>CoRR abs/2109</source>
          .00498 (
          <year>2021</year>
          ). URL: https://arxiv.org/abs/2109.00498. arXiv:
          <volume>2109</volume>
          .
          <fpage>00498</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>G.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ibeling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Julian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lazarus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Shah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Thakoor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeljic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Kochenderfer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. W.</given-names>
            <surname>Barrett</surname>
          </string-name>
          ,
          <article-title>The marabou framework for verification and analysis of deep neural networks</article-title>
          , in: I.
          <string-name>
            <surname>Dillig</surname>
          </string-name>
          , S. Tasiran (Eds.),
          <source>Computer Aided Verification - 31st International Conference, CAV</source>
          <year>2019</year>
          , New York City, NY, USA, July
          <volume>15</volume>
          -
          <issue>18</issue>
          ,
          <year>2019</year>
          , Proceedings,
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , volume
          <volume>11561</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2019</year>
          , pp.
          <fpage>443</fpage>
          -
          <lpage>452</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -25540-4_
          <fpage>26</fpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>030</fpage>
          -25540-4\_
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>O. R. developers</surname>
          </string-name>
          , Onnx runtime, https://onnxruntime.ai/,
          <year>2021</year>
          . Version: x.y.z. B.
          <string-name>
            <surname>Sofranac</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Turner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Vigerske</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Wegscheider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Wellner</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Weninger</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Witzig</surname>
          </string-name>
          ,
          <source>The SCIP Optimization Suite 8.0, ZIB-Report 21-41</source>
          , Zuse Institute Berlin,
          <year>2021</year>
          . URL: http://nbn-resolving.de/urn:nbn:de:
          <fpage>0297</fpage>
          -zib-85309.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [35]
          <string-name>
            <surname>Gurobi</surname>
            <given-names>Optimization</given-names>
          </string-name>
          ,
          <string-name>
            <surname>LLC</surname>
          </string-name>
          , Gurobi Optimizer Reference Manual,
          <year>2021</year>
          . URL: https://www. gurobi.com.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [36]
          <string-name>
            <surname>L. M. de Moura</surname>
          </string-name>
          , N. Bjørner,
          <article-title>Z3: an eficient SMT solver</article-title>
          , in: C. R. Ramakrishnan, J. Rehof (Eds.),
          <article-title>Tools and Algorithms for the Construction and Analysis of Systems</article-title>
          , 14th International Conference, TACAS 2008,
          <article-title>Held as Part of the Joint European Conferences on Theory and Practice of Software</article-title>
          ,
          <source>ETAPS</source>
          <year>2008</year>
          , Budapest, Hungary, March 29-April 6,
          <year>2008</year>
          . Proceedings, volume
          <volume>4963</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2008</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -78800-3_
          <fpage>24</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -78800-3\_
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>J.</given-names>
            <surname>Scott</surname>
          </string-name>
          , G. Pan,
          <string-name>
            <given-names>E. B.</given-names>
            <surname>Khalil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <article-title>Pierce: A testing infrastructure for machine learning verification tools</article-title>
          , URL https://guantingpan.github.io/pierce/ (????).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>S.</given-names>
            <surname>Baldwin</surname>
          </string-name>
          , Compute Canada: Advancing Computational Research, in
          <source>: Journal of Physics: Conference Series</source>
          , volume
          <volume>341</volume>
          ,
          <string-name>
            <given-names>IOP</given-names>
            <surname>Publishing</surname>
          </string-name>
          ,
          <year>2012</year>
          , p.
          <fpage>012001</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Kingma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ba</surname>
          </string-name>
          ,
          <article-title>Adam: A method for stochastic optimization</article-title>
          ,
          <source>arXiv preprint arXiv:1412.6980</source>
          (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <article-title>On learning algorithm selection for classification</article-title>
          ,
          <source>Appl. Soft Comput</source>
          .
          <volume>6</volume>
          (
          <year>2006</year>
          )
          <fpage>119</fpage>
          -
          <lpage>138</lpage>
          . URL: https://doi.org/10.1016/j.asoc.
          <year>2004</year>
          .
          <volume>12</volume>
          .002. doi:
          <volume>10</volume>
          .1016/j.asoc.
          <year>2004</year>
          .
          <volume>12</volume>
          .002.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kotthof</surname>
          </string-name>
          ,
          <article-title>Algorithm selection for combinatorial search problems: A survey</article-title>
          , in: C.
          <string-name>
            <surname>Bessiere</surname>
            ,
            <given-names>L. D.</given-names>
          </string-name>
          <string-name>
            <surname>Raedt</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Kotthof</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Nijssen</surname>
            ,
            <given-names>B. O</given-names>
          </string-name>
          <string-name>
            <surname>'Sullivan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          Pedreschi (Eds.),
          <article-title>Data Mining and Constraint Programming - Foundations of a Cross-Disciplinary Approach</article-title>
          , volume
          <volume>10101</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2016</year>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>190</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -50137-
          <issue>6</issue>
          _7. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -50137-6\_7.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>K.</given-names>
            <surname>Tierney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <article-title>An algorithm selection benchmark of the container pre-marshalling problem</article-title>
          , in: C.
          <string-name>
            <surname>Dhaenens</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Jourdan</surname>
          </string-name>
          , M. Marmion (Eds.),
          <source>Learning and Intelligent Optimization - 9th International Conference, LION 9</source>
          ,
          <string-name>
            <surname>Lille</surname>
          </string-name>
          , France,
          <source>January 12-15</source>
          ,
          <year>2015</year>
          .
          <source>Revised Selected Papers</source>
          , volume
          <volume>8994</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2015</year>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>22</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -19084-6\_2.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vallati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chrpa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Kitchin</surname>
          </string-name>
          ,
          <article-title>Portfolio-based planning: State of the art, common practice and open challenges</article-title>
          ,
          <source>AI Commun</source>
          .
          <volume>28</volume>
          (
          <year>2015</year>
          )
          <fpage>717</fpage>
          -
          <lpage>733</lpage>
          . URL: https://doi.org/10. 3233/AIC-150671. doi:
          <volume>10</volume>
          .3233/AIC-150671.
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          , :
          <article-title>The design and analysis of an algorithm portfolio for SAT</article-title>
          , in: C.
          <string-name>
            <surname>Bessiere</surname>
          </string-name>
          (Ed.),
          <source>Principles and Practice of Constraint Programming - CP</source>
          <year>2007</year>
          , 13th International Conference, CP 2007,
          <article-title>Providence</article-title>
          , RI, USA, September
          <volume>23</volume>
          -
          <issue>27</issue>
          ,
          <year>2007</year>
          , Proceedings, volume
          <volume>4741</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2007</year>
          , pp.
          <fpage>712</fpage>
          -
          <lpage>727</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>540</fpage>
          -74970-7_
          <fpage>50</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -74970-7\_
          <fpage>50</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>Satzilla: Portfolio-based algorithm selection for SAT</article-title>
          ,
          <source>J. Artif. Intell. Res</source>
          .
          <volume>32</volume>
          (
          <year>2008</year>
          )
          <fpage>565</fpage>
          -
          <lpage>606</lpage>
          . URL: https://doi.org/10.1613/jair.2490. doi:
          <volume>10</volume>
          .1613/jair.2490.
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <article-title>Satzilla2009: an automatic algorithm</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>