<!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 />
    <article-meta>
      <title-group>
        <article-title>Uncovering and Classifying Bugs in MaxSAT Solvers through Fuzzing and Delta Debugging</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>TobiasPaxian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Armin Biere</string-name>
          <email>biere@cs.uni-freiburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Freiburg</institution>
          ,
          <addr-line>Georges Koehler Allee 51, 79110 Freiburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this study we continue the success story of fuzz testing automated reasoning tools by providing the ifrst extensive fuzzing study on MaxSAT solvers. As somewhat expected we identify interesting defects and failures in almost all MaxSAT solvers from the MaxSAT Evaluation 2022. A classification of these bugs into four main classes and various subclasses can help developers in debugging them. Finally, we show how to uncover additional issues by a preliminary MaxSAT delta debugging strategy on top of reducing the failing test cases significantly. This study clearly shows that MaxSAT solvers are less reliable and robust than expected, and further suggests that fuzzing and delta debugging can help to improve this situation. Furthermore, we provide a regression suite of interesting small instances.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>https://cca.informatik.uni-freiburg.d(Te./ Paxian);https://cca.informatik.uni-freiburg.d(Ae/. Biere)</p>
      <p>© 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
      <p>SUB</p>
      <p>PB</p>
      <p>SMT</p>
      <p>Others
BB ILP</p>
      <p>X
X</p>
      <p>
        X
X
Rank MaxSAT Solver
1. &amp; 2. CASHWMaxSAT [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ]
3. &amp; 7. UWrMaxSat [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
4. MaxHS [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]
5. &amp; 6. WMaxCDCL [
        <xref ref-type="bibr" rid="ref23 ref24">23, 24</xref>
        ]
8. EvalMaxSAT [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]
9. CGSS [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]
10. Exact [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]
6. Pacose [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]
z3rc2 [
        <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
        ]
z3maxres [
        <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
        ]
z3wmax [
        <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
        ]
maxpre 2.0 [
        <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
        ]
      </p>
      <p>HS
X</p>
      <p>UB
X
X
X
X
X
X
X
X
X</p>
      <p>X
X</p>
      <p>X
X</p>
      <p>X
X
X</p>
      <p>X
X
X
X
not yet available for the weighted variant. In our study we chose a third technique, a dynamic
software testing approach, requiring no changes in the code of solvers. This approach, called
fuzz testing or fuzzing, is applied to enhance the robustness of solvers.</p>
      <p>
        Fuzz testing has been successful in detecting software vulnerabilities and bugs across various
ifelds [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The first paper in 1990 shows the eficiency of identifying reliability issues in UNIX
utilities1[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In MaxSAT related fields such as Satisfiability Modulo Theories (SM1T6)][, SAT,
Quantified Boolean Formulas (QBF)1[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and And-Inverter Graph Verification18[] fuzz testing
has demonstrated its efectiveness. This study presents the first extensive study in fuzzing
MaxSAT solvers. As expected, we found numerous failures in almost all the 15 fuzzed MaxSAT
algorithms and solvers as detailed in Sec3t.ioWne then classified these bugs into 4 main and
14 subcategories, as outlined in Secti2o.4n. Additionally, we employ our preliminary delta
debugger to shrink the formulas, as described in Sect2.i3o.nDuring the delta debugging phase
many additional faults were triggered, due to the reduction process as described in3.Section
      </p>
      <p>In Table1 we describe the tested solvers, their ranking in the MSE and also point out the
techniques they use.</p>
      <p>Regarding related work, we are only aware of two available MaxSAT fuzzers supporting the
old pre MSE22 WCNF format. The first fuzzer33[] tests only for invalid exit codes of the solver
and a missing o-value or one which is bigger than sum of weights. The second fuz3z4e]r [
comes along with a MaxSAT solver GaussMax H35S],[which has not yet participated in the
MSE. The authors generated a CNF, added xor gates and converted it with bit blasting into
WCNF with a bundle of python and shell scripts. Our understanding is that both fuzzers do not
check whether the o-value matches the model or an optimum is reached.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Methodology</title>
      <p>In this section we introduce the four key components of our study: We begin by discussing
the techniques to construct random WCNF formulas by our fWuCzNzFeurzz. Next, we describe
ourWCNFCompare tool, developed to compare and log the faults of solvers, providing a valuable
direct comparison of their results. Following that, we describe our preliminary implementation
of the delta debugging algorithm. Finally, we present our fault classification scheme, which
categorizes the discovered faults frWoCmNFCompare.</p>
      <sec id="sec-2-1">
        <title>2.1. Fuzz testing</title>
        <p>
          Fuzzing is a technique to detect software vulnerabilities with the idea to treat software as a black
box and generate random inputs in order to uncover critical defects as segmentation faults,
overflows or incorrect result1s4][. Our novel tooWlCNFuzz is a generation-based
grammaraware 3[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] fuzzer. It generates random WCNF instances, following the input language rules, to
identify crashes, performance bottlenecks, invalid solver outputs and hard to solve instances.
This allows developers to understand weaknesses and strengths of their solvers to improve the
reliability and eficiency of their software 1[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>
          There already exist successful fuzzing tools for CNF formulas like CNFuzz and Fuz1z7S]A.T [
CNFuzz generates structured instances, which results in problems closer to industrial examples,
than simply applying a variable clause ra3t7i,o3[
          <xref ref-type="bibr" rid="ref8">8, 39</xref>
          ], as done in many studies to generate
hard random 3-SAT formulas. Our goal is to construct dificult problems with only a few
clauses, because it is shown in previous studi1e7s,[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], that with such instances most faults
are triggeredW.CNFuzz modifies CNFuzz to generate such WCNF formulas.
        </p>
        <p>In the following we use our implementation of a “Linear Congruential Generator”, with
values from the “Art of Computer Programmi4n0g]”, [to pick all random choiceWsC. NFuzz adds
up to 10 layers of clauses with each containing up to 70 variables. Layers consist entirely either
of hard or soft clauses. Soft clause layers are chosen randomly with higher chance initially
and lower chance for the following soft layers. The clauses of the n’th layer contains variables
of its own layer with high probability and with decreasing chances variables of lower layers.
Most of the clauses (around 2/3) are ternary, with decreasing chances they are of higher order
and around every tenth clause is binary. We calculate the number of clauses in each layer by
picking a suitable clause-variable-ratio. As we want hard clauses to be satisfiable with a high
chance, we pick a low ratio∈ [1, 2.5] for hard clause layers. For soft clause layers we want to
have at least some clauses making the problem unsatisfiable, therefore we choose a high ratio
 ∈ [3.5, 5.5] .</p>
        <p>Additionally, we add Tseitin encoded Equality, AND, 3-XOR and 4-XOR gates. We include an
activation literal to all clau3s/e4s of the gate encodings and add one additional soft clause
containing only the negated activation literal. Furthermore, one out of ten instances is forced
to contain only soft clauses. In very rare cases, all layers and gates are decided to consist only
of hard clauses.</p>
        <p>
          The maximal weight in the MSE is often relatively small, and often there are unweighted
problems to solve. Therefore, the maximal weight is chosen to be in one of the following ranges,
for each interval the probability is [11/,51:]; [
          <xref ref-type="bibr" rid="ref2 ref32">2, 32</xref>
          ]; [33, 256]; [257, 65535]; with a probability
of 4/25 it is in the range o[f65536, 232]; and with the probabilit1y/25 it is in the range of
[232 + 1, 263 − 1]; with263 − 1 being the maximal possible weight. We further ensure that the
maximal sum of weights is less tha26n4 − 1, as described in the oficial rules of the MSE8][.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Comparing and Logging Results</title>
        <p>In the following, we discuss challenges in fuzzing a single MaxSAT solver and present our
solutionWCNFCompare, a Python tool to automate the comparison, validation, and logging of
multiple MaxSAT solver results.</p>
        <p>Evaluating the optimality of a single fuzzed MaxSAT solver presents a challenge in the
absence of a certified proof or solver. To address these issues, we introWdCuNcFeCompare, a
Python tool that automates the process of comparing the results produced by multiple MaxSAT
solvers. In its default configuratioWnC,NFCompare runs all solvers mentioned in Sect1io,wnith
a default timeout of 20 seconds for each solver. It then verifies the satisfiability of hard clauses,
and checks the o-value against the model for each solver result, usWinCgNFoVuerrifier. We
use the best model verified solution as a representative for the unverified optimal outcome. If
other solvers do not produce the same o-value, it indicates an erroneous result. Subsequently,
the tool classifies results into approximately 30 diferent fault classes, which are doubled again,
depending on the sum of weights, as discussed in Sectio2.n4. Each solver is assigned a number,
as are the types of faults that occur (see Se2c.t4i)o,wnith fault types numbered from 1 to 60
within the tool. If multiple errors occur, then the exit codes and solver position are added up
and taken modulo 255, as 255 is the highest possible exit code.</p>
        <p>One limitation of the comparison script is that identical exit codes can emerge from various
solver failure combinations. Consequently, as the delta debugger reduces instances only
considering the exit code, we can end up with diferent solver-fault combinations at the end of a
reduction. To address this issue, we introduced a command line option that restricts the script
to only return the exit code of a single solver for the delta debugger run.</p>
        <p>WCNFCompare also logs results, generating individual files for each WCNF-solver-fault
combination. As fuzzing and delta debugging can run concurrently on multiple cores, we need
to prevent access to the same solver-fault combinations logfile from multiple cores, which is
done by adding a unique seed. These files contain a clear fault comparison overview, the final
o-values of each solver, error messages, and the solver’s output to stdout and stderr. At the end
of the whole fuzzing/delta debugging run, these log files are consolidated into a single log file
per solver fault combination. This approach ofers a significant advantage: it permits the use of
any instance generation tool or shrinking tool, while maintaining a consistent logging process.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Delta Debugging</title>
        <p>
          Delta debugging4[
          <xref ref-type="bibr" rid="ref1">1, 42, 43</xref>
          ] is a powerful and eficient technique to isolate and simplify failure
causing inputs in software testing. If we apply delta debugging without restarts, we have a
complexity of() . It assists to identify the root cause of a problem by systematically decreasing
the size of a test input while preserving the failure triggering property.
        </p>
        <p>This greedy approach attempts to remove portions of the input not contributing to the fault.
Initially, the approach attempts to remove the whole input, then successively reduces this to
half, a quarter, and so on. In the worst-case scenario, every second atomic element needs to be
removed, which makes the algorithm worse than merely iterating once through all elements.</p>
        <p>It still has(a) complexity, which makes it an advanced tool for isolating and simplifying
failure-inducing inputs in MaxSAT problems, supporting developers in discovering root causes
of solver bugs. Additionally, during the reduction proWcCeNsFs,Compare is called for all created
WCNF instances. We are the first to log errors and saving fault triggering WCNFs arising during
the reduction phase. Instances that might not have been generated by the initial fuzzer are
produced. This aims to uncover additional interesting new solver-fault combinations that might
have remained undetected otherwise.</p>
        <p>We plan to elaborate on delta debugging in a forthcoming extended version.</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.4. Fault Classification</title>
        <p>Next, we discuss how faults, in the context of MaxSAT solvers, can be classified. Therefore,
we introduce four main fault classes: Crashes, Lower/Upper Bound Violations, Performance
Regressions, and Other Issues.</p>
        <p>WCNFCompare originally returns 60 diferent fault classes for which 1-30 are for a sum of
weight smaller tha2n32 and the 31-60 debug the same faults for bigger weights. We simplified
this list into four main and 14 subclasses, still diferentiating between small and big weights.</p>
        <p>In order to simplify the fault classification list, we propose the following notation for the
diferent types of o-values: le tsolverdenote the best o-value given in the solver outmpuotde,l
denotes the o-value represented by the solver’s model (as calculated by the model-verifier), and
ifnally  min denotes the best verified o-value of all solvers. Using this notation, we present the
diferent fault classes and their respective errors:
1. Crashes:
1.1. MaxSAT solver’s exit code is 134 (SIGABRT, internal error or inconsistency)
1.2. MaxSAT solver’s exit code is 135 (SIGSEGV, segmentation fault)
1.3. MaxSAT solver’s exit code is 136 (SIGFPE, arithmetic error or overflow)
1.4. MaxSAT solver’s exit code is 137 (SIGKILL, immediately shutdown)
1.5. MaxSAT solver’s exit code is 139 (SIGSEGV / SIGBUS, segmentation or bus fault)
1.6. MaxSAT solver’s exit code is XXX (all other exit codes)
2. Bound Violations:
2.1.  min &lt;  solverand  solver==  model
2.2.  solver≠  modeland  model ≠  min and  solver≠  min .
2.3. Either modelor solverunequals min.
2.4. Verifier asserts that provided model is UNSATISFIABLE.</p>
        <p>2.5. Verifier states hard clauses are SATISFIABLE, but solver states UNSATISFIABLE.
3. Performance Regressions:
3.1. Potential Fault: Solver had timeout, but this timeout is 50 times larger than the
average time of the non-timeout solvers.
4. Other Issues:
4.1. Solver has an error either stated in stdout or stderr.
4.2. Inconsistency in status line and output.</p>
        <p>4.3. Unexpected behavior of a verifier.</p>
        <p>Determining the severity of these errors is a crucial aspect. As an example, fault 3.1. is only
a potential fault that may indicate a performance issue or a more severe infinite loop problem.
Generally it is not considered a serious fault. Crashes are more severe, but at least they do not
deliver an incorrect value/model which we tend to trust. Bound violations, on the other hand
are considered serious, as we cannot trust the solver reliability. Most of these faults can be
detected with a sanity check, which implies a check if the hard clauses are satisfiable and if the
model’s o-value matches the given solver o-value. This suggests that the most critical fault in
these violations could occur if this quick check appears to be sane, yet a fault such as the one
indicated by 2.1. is still present. In the current version of our tool, we overlooked the inclusion
of a model sanity check. This means we only verify if the provided model already contradicts
the formula, without checking if the number of variables is correct. We have acknowledged
this oversight and plan to address it in the upcoming version of the tool.</p>
        <p>The sequence in which these faults are evaluated during the fault classification process plays
an important role in ensuring an accurate fault detection. The order should minimize the risk
of missing important bugs as occurred in previous versions of the compare script. For instance,
the solver status should be evaluated before evaluating the o-value and model. Is it worth
considering the occurrence of multiple faults in a single solver run? If, for example an error
message is thrown, but has at the same time a bound violation, we decided to only catch the
bound violation, as we do not interpret error messages. Further some soMlavexrHaSsprint
often such messages but still provides correct results. We believe that our approach has a good
balance between not over-categorizing faults and not neglecting important faults.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Results</title>
      <p>In this section, we present results of our MaxSAT solver fuzzing and delta debugging experiments.
The tests were run on a system powered by an i9-12900 processor with 16 cores and 128 GB
of memory. The experiments were executed on all 16 cores around one week for fuzzing and
afterwards we performed delta debugging on the first five faults that occurred in each class of
the original 60 classes, which took another week. All experimental data, the regression suite,
and source code is availablehatttps://cca.informatik.uni-freiburg.de/maxsat.fDuzuzring setup,
we challenged the following issues:
• Z3 doesn’t support competition standard output, therefore we implemented a
transformation script.
• The MSE provides a useful benchmark code base for verifying models, transforming
WCNFs from new to old format and vice versa, and more. However, we could not use
these tools as they only accept a sum of weights u2p63t,oand we aimed to support the
full range up t2o64 − 2, as it is standard in the competition.</p>
      <p>CASHWMaxSAT-CoreP*
... SCIP 7.0.3 ...
c SCIP optimum = 2
v 100110
o 2
s OPTIMUM FOUND
MaxHS
... c #vars: 5
c #Clauses: 8 ...
o 2
s OPTIMUM FOUND
v 11011</p>
      <p>CASHWMaxSAT-Plus ...</p>
      <p>SCIP 7.0.3 ...
c SCIP optimum = 2
v 100110
o 2
s OPTIMUM FOUND
z3rc2
c Convert WCNF
c Convert Output
s OPTIMUM FOUND
o 2
v 010111</p>
      <p>UWrMaxSat-SCIP
... SCIP 8.0.0 ...
c SCIP optimum: 2
v 100110
o 2
s OPTIMUM FOUND
EvalMaxSAT
s OPTIMUM FOUND
o 1
v 000111
c Total time: 347 µs
• Z3 and Pacose require the old evaluation format as input, we added a script to rewrite the
instances. However, this led to additional fault classes during parallel execution, which
were non-reproducible and hence, excluded from our results.
• Maxpre2 outputs the old v-line format. We implemented a script to rewrite the output,
which likely triggered unverifiable fault classes. These were also excluded from our
results. In an updated version Maxpre2 can handle also the new v-line output format.
• Pacose sometimes writes ”SATISFIABLE” instead of ”s SATISFIABLE.”
• Solvers throw diferent exit codes. For instance, when an optimum solution is found,</p>
      <p>Exact returns 30, whilPeacose returns an exit code of 10.
• CGSS and Exact only work with *.wcnf named files.
• In UWrMaxSat-SCIP, grepping for ”UNSAT” in the verbose=0 variant let the status line
disappear.</p>
      <p>Table2 presents our findings, displaying the number of faults detected for each fault class,
as outlined in Sectio2n.4, in fuzzing and delta debugging runs. The exact numbers are not
crucial, as the detected faults increase at a consistent rate, if run for extended periods. A detailed
examination of the solvers during this study led to several interesting observations:
• OnlyMaxHS and Z3 can handle empty instances. This is the reason wEhvyalMaxSAT
crashed 822 times with exit code 255 and tUhWe rMaxSAT and CASHWMaxSAT variants
with exit code 139. This happens only during the reduction phase, as no empty instance
is generated with our fuzzer.
• CGSS and Pacose do not accept a wcnf with only hard clauses, resulting in 271 131 crashes.
• The following invalid exit codes occured causing a crash fault (fault category 1.): 1, 3, 105,
108, 134, 135, 136, 139, 141, 255
• CGSS throws exit code 1 for unsatisfiable instances - but the same exit code is thrown, if
the whole instance is empty. This means, that these instances are reduced to the empty
instance, after the first solver call of the delta debugger.</p>
      <p>Our preliminary delta debugger showed already significant efectiveness. Some instances took
up to a week to reduce, particularly when performance regression (3.1) occurred for instances
with large numbers, making weight reduction a very time-intensive task.</p>
      <p>The reduced instances uncovered intriguing problems, such as in Fig1u,wrehere a fault was
significantly minimized. Another issue occurred with the timeout fault classM3a.1xiHnS due
to a simple instance with just three soft and one hard clause, the original instance (reproducible
with seed 193251431004265909) having 41 soft and 157 hard clauses. This problem forcMedaxHS
into a type of infinite loop, only terminated by the technique’s 1500-second timeout. A nearly
identical error with another instance occurred wiEtxhatchtesolver, but this time with a real
timeout. That instance (seed 1795142913688699408) could be reduced to 7 soft and 24 hard
clauses, underscoring that even timeouts can reveal interesting bugs.</p>
      <p>Furthermore, we highlight that we could trigger 20 additional solver-fault combinations
during our delta debugging phase. As demonstrated in Ta2b,tlehese additional combinations
are additional entries within the second line. The ability to invoke these additional combinations
is significant, as it provides further opportunities to probe the robustness of the solvers and
expose potential vulnerabilities. This observation underscores the value of our novel approach
of logging during the delta debugging phase, as it notably enhances the comprehensiveness of
our testing process.</p>
      <p>The results of our MaxSAT solver fuzzing and delta debugging experiments reveal crucial
insights into the behavior and robustness of various solvers. Our WfuCzNzFeurzz efectively
detects a significant number of interesting faults duWeCtNoFcompare, in various fault classes.
Despite some initial challenges, our preliminary delta debugging tool leads to considerable
reductions in input instances and exposes interesting issues, such as unexpected exit codes,
timeout faults and interesting bound violations. These findings highlight the importance of
rigorous testing and debugging in the development and refinement of MaxSAT solvers.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Discussion</title>
      <p>In the course of our research, we have constructed a useful regression set of interesting instances
that we believe will be beneficial for solver development. These instances include:
• Empty instance, empty soft/hard clause.
• Non trivial reducible maximal weight instances with a maximum single w26e3ig−h1t
and a maximal sum of weight2s64 − 2.
• Simple unsatisfiable instances.
• Tautology soft/hard clauses
• With our fuzzer created and delta debugged instances for each fault class-solver
combination, causing each at least one solver to crash.</p>
      <p>At least one of these instances are triggering a fault in all the tested solvers, as some of these
instances are not yet supported by the oficial rules. E.g. empty clauses / instances cannot be
handled even by most SAT solvers. We suggest the following rules be incorporated into the
competition solver rules:
• An empty instance should yield a weight ”o 0”, with an empty model line ”v” and the
status line ”s OPTIMUM FOUND”.
• An unsatisfiable instance should produce the status line ”s UNSATISFIABLE”.
• An empty hard clause should result in an unsatisfiable instance.
• An empty soft clause should be unsatisfiable, but the instance can still be satisfiable.
• The exit code of a solver should be 0 for all results but ”s UNKNOWN”.</p>
      <p>We would like to ofer the MaxSAT community these instances, provided as a zip file from
the MSE homepage, along with a script executing the solver with a subset or all instances
and verifying the results and models. This surely would assist developers in improving the
robustness of their solvers.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this research, we explored an automated testing approach for MaxSAT solvers, utilizing
fuzzing and delta debugging to uncover and minimize intriguing faults.</p>
      <p>The input instances were significantly reduced during the delta debugging phase and our
methods allowed us to identify and isolate critical issues, even within large, complex instances.</p>
      <p>We also created a compact regression suite of small instances for solver development, which
were shown to trigger specific errors in all tested solvers. We will provide these instances along
with a script for executing and verifying the solver’s results to the MaxSAT community. We
also proposed new rules to include in the MaxSAT Evaluation rule-book, to ensure the standard
handling of basic clauses as provided by our regression suite.</p>
      <p>In a extended version of this paper, we aim to expand upon our preliminary delta debugger,
providing a more detailed exposition of its workings. Additionally, we intend to communicate
with all authors regarding the discovered bugs to assist them in debugging their MaxSAT solvers.</p>
      <p>In conclusion, our research demonstrates that automated testing methods, such as fuzzing
and delta debugging, can trigger severe faults in MaxSAT solvers. We believe that our work
will significantly contribute to the ongoing eforts to enhance the robustness and reliability of
these solvers.
Melbourne, VIC, Australia, August 28–September 1, 2017, Proceedings 20, Springer, 2017,
pp. 449–456.
[33] N. Manthey, MaxSAT fuzzer, 2020. URLh: ttps://github.com/conp-solutions/maxsat-fu.zzer
[34] M. Soos, K. S. Meel, GaussMaxHS github repository, 2021. URhLt:tps://github.com/
meelgroup/gaussmaxh,savailable ahtttps://github.com/meelgroup/gaussmax.hs
[35] M. Soos, K. S. Meel, Gaussian elimination meets maximum satisfiability, in: Proceedings of
the International Conference on Principles of Knowledge Representation and Reasoning,
volume 18, 2021, pp. 581–587.
[36] J. Wang, B. Chen, L. Wei, Y. Liu, Superion: Grammar-aware greybox fuzzing, in: 2019
IEEE/ACM 41st International Conference on Software Engineering (ICSE), IEEE, 2019, pp.
724–735.
[37] D. Mitchell, B. Selman, H. Levesque, et al., Hard and easy distributions of SAT problems,
in: Aaai, volume 92, 1992, pp. 459–465.
[38] E. Nudelman, K. Leyton-Brown, H. H. Hoos, A. Devkar, Y. Shoham, Understanding random
SAT: Beyond the clauses-to-variables ratio, in: Principles and Practice of Constraint
Programming–CP 2004: 10th International Conference, CP 2004, Toronto, Canada,
September 27-October 1, 2004. Proceedings 10, Springer, 2004, pp. 438–452.
[39] J. A. Navarro, A. Voronkov, Generation of hard non-clausal random satisfiability problems,
in: Proceedings of the National Conference on Artificial Intelligence, volume 20, Menlo
Park, CA; Cambridge, MA; London; AAAI Press; MIT Press; 1999, 2005, p. 436.
[40] D. E. Knuth, The art of computer programming. volume 2: Seminumerical algorithms,</p>
      <p>Bull. Amer. Math. Soc (1997).
[41] A. Zeller, R. Hildebrandt, Simplifying and isolating failure-inducing input, IEEE
Transactions on Software Engineering 28 (2002) 183–200.
[42] G. Misherghi, Z. Su, HDD: hierarchical delta debugging, in: Proceedings of the 28th
international conference on Software engineering, 2006, pp. 142–151.
[43] A. Zeller, Why programs fail: a guide to systematic debugging, Elsevier, 2009.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>O. J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Hyttinen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <article-title>Applications of MaxSAT in data analysis</article-title>
          ,
          <source>Proceedings of Pragmatics of SAT 2015 and 2018</source>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <article-title>Cost-optimal constrained correlation clustering via weighted partial maximum satisfiability</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>244</volume>
          (
          <year>2017</year>
          )
          <fpage>110</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B.</given-names>
            <surname>Ghosh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. S.</given-names>
            <surname>Meel</surname>
          </string-name>
          ,
          <article-title>IMLI: An incremental framework for MaxSAT-based learning of interpretable classification rules</article-title>
          ,
          <source>in: Proceedings of the 2019 AAAI/ACM Conference on AI, Ethics, and Society</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>203</fpage>
          -
          <lpage>210</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , F. Bacchus,
          <article-title>MaxSAT heuristics for cost optimal planning</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence</source>
          , volume
          <volume>26</volume>
          ,
          <year>2012</year>
          , pp.
          <fpage>1846</fpage>
          -
          <lpage>1852</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Safarpour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Veneris</surname>
          </string-name>
          ,
          <article-title>Automated design debugging with maximum satisfiability</article-title>
          ,
          <source>IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems</source>
          <volume>29</volume>
          (
          <year>2010</year>
          )
          <fpage>1804</fpage>
          -
          <lpage>1817</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Raiola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Paxian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <article-title>Minimal witnesses for security weaknesses in reconfigurable scan networks</article-title>
          ,
          <source>in: 2020 IEEE European Test Symposium (ETS)</source>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Seufert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Winterer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Scholl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Scheibler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Paxian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <article-title>Everything you always wanted to know about generalization of proof obligations in PDR, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (</article-title>
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bacchus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martins</surname>
          </string-name>
          , A. e. Niskanen,
          <source>MaxSAT Evaluation</source>
          <year>2022</year>
          :
          <article-title>Solver</article-title>
          and
          <string-name>
            <given-names>Benchmark</given-names>
            <surname>Descriptions</surname>
          </string-name>
          ,
          <source>Technical Report</source>
          , Department of Computer Science, University of Helsinki, Helsinki,
          <year>2022</year>
          . URLh:ttp://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Manya</surname>
          </string-name>
          ,
          <article-title>MaxSAT, hard and soft constraints, in: Handbook of satisfiability</article-title>
          , IOS Press,
          <year>2021</year>
          , pp.
          <fpage>903</fpage>
          -
          <lpage>927</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bacchus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martins</surname>
          </string-name>
          ,
          <article-title>Maximum satisfiabiliy</article-title>
          , in: Handbook of Satisfiability, IOS Press,
          <year>2021</year>
          , pp.
          <fpage>929</fpage>
          -
          <lpage>991</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Fleury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Blanchette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lammich</surname>
          </string-name>
          ,
          <article-title>A verified SAT solver with watched literals using imperative HOL</article-title>
          ,
          <source>in: Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>158</fpage>
          -
          <lpage>171</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Vandesande</surname>
          </string-name>
          , W. De Wulf,
          <string-name>
            <surname>B. Bogaerts,</surname>
          </string-name>
          <article-title>QMaxSATpb: a certified MaxSAT solver</article-title>
          ,
          <source>in: Logic Programming and Nonmonotonic Reasoning: 16th International Conference, LPNMR</source>
          <year>2022</year>
          , Genova, Italy, September 5-
          <issue>9</issue>
          ,
          <year>2022</year>
          , Proceedings, Springer,
          <year>2022</year>
          , pp.
          <fpage>429</fpage>
          -
          <lpage>442</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gocht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nordström</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Oertel</surname>
          </string-name>
          ,
          <article-title>Certified CNF Translations for PseudoBoolean Solving</article-title>
          , in: K. S. Meel,
          <string-name>
            <surname>O.</surname>
          </string-name>
          Strichman (Eds.),
          <source>25th International Conference on Theory and Applications of Satisfiability Testing (SAT</source>
          <year>2022</year>
          ), volume 236Leoibfniz
          <source>International Proceedings in Informatics (LIPIcs)</source>
          ,
          <source>Schloss Dagstuhl - Leibniz-Zentrum für Informatik</source>
          , Dagstuhl, Germany,
          <year>2022</year>
          , pp.
          <volume>16</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          :
          <fpage>25</fpage>
          . URhLt: tps://drops.dagstuhl.de/opus/ volltexte/2022/166.9d0oi:
          <fpage>10</fpage>
          .4230/LIPIcs.SAT.
          <year>2022</year>
          .
          <volume>16</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gopinath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Böhme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Fraser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Holler</surname>
          </string-name>
          , The fuzzing book,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>B. P.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fredriksen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>So</surname>
          </string-name>
          ,
          <article-title>An empirical study of the reliability of UNIX utilities</article-title>
          ,
          <source>Communications of the ACM</source>
          <volume>33</volume>
          (
          <year>1990</year>
          )
          <fpage>32</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Brummayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <article-title>Fuzzing and delta-debugging SMT solvers</article-title>
          ,
          <source>in: Proceedings of the 7th International Workshop on Satisfiability Modulo Theories</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R.</given-names>
            <surname>Brummayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Lonsing</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <article-title>Automated testing and debugging of SAT and QBF solvers, in: Theory and Applications of Satisfiability Testing-SAT</article-title>
          <year>2010</year>
          : 13th International Conference, SAT 2010,
          <article-title>Edinburgh</article-title>
          ,
          <string-name>
            <surname>UK</surname>
          </string-name>
          ,
          <source>July 11-14</source>
          ,
          <year>2010</year>
          . Proceedings 13, Springer,
          <year>2010</year>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kaufmann</surname>
          </string-name>
          , A. Biere,
          <article-title>Fuzzing and delta debugging and-inverter graph verification tools</article-title>
          ,
          <source>in: Tests and Proofs: 16th International Conference, TAP</source>
          <year>2022</year>
          ,
          <article-title>Held as Part of STAF 2022, Nantes</article-title>
          , France, July
          <volume>5</volume>
          ,
          <year>2022</year>
          , Proceedings, Springer,
          <year>2022</year>
          , pp.
          <fpage>69</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cai</surname>
          </string-name>
          , M. Yin,
          <string-name>
            <surname>CASHWMaxSAT-CorePlus: Solver Description</surname>
            , volume
            <given-names>B-</given-names>
          </string-name>
          <year>2022</year>
          -2 of 8[],
          <year>2022</year>
          , p.
          <fpage>8</fpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Cai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhou</surname>
          </string-name>
          , CASHWMaxSAT-Plus:
          <article-title>Solver Description</article-title>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2022</year>
          <source>-2 of8][</source>
          ,
          <year>2022</year>
          , p.
          <fpage>9</fpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Piotrów</surname>
          </string-name>
          ,
          <source>UWrMaxSat Entering the MaxSAT Evaluation</source>
          <year>2022</year>
          , volume B-20228-]2, of [ 2022, pp.
          <fpage>21</fpage>
          -
          <lpage>22</lpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bacchus</surname>
          </string-name>
          ,
          <article-title>MaxHS in the 2022 MaxSAT Evaluation</article-title>
          , volume B-2022
          <source>-28o],f 2[022</source>
          , pp.
          <fpage>17</fpage>
          -
          <lpage>18</lpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.</given-names>
            <surname>Coll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-M. Li</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Manyà</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Habet</surname>
          </string-name>
          , K. He, MaxCDCL and WMaxCDCL in
          <source>MaxSAT Evaluation</source>
          <year>2022</year>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2022</year>
          <source>-2 o8f][</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>15</fpage>
          -
          <lpage>16</lpage>
          . URL: http://hdl.handle.net/10138/ 347396.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Coll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-M. Li</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Manyà</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Habet</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Zheng</surname>
          </string-name>
          , K. He, MaxCDCL-BandAll in
          <source>MaxSAT Evaluation</source>
          <year>2022</year>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2022</year>
          <source>-2 o8f][</source>
          ,
          <year>2022</year>
          , p.
          <fpage>23</fpage>
          . URL: http://hdl.handle.net/10138/ 347396.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>F.</given-names>
            <surname>Avellaneda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.-E.</given-names>
            <surname>Bilodeau-Savaria</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Normand</surname>
          </string-name>
          ,
          <source>Weighted version of EvalMaxSAT</source>
          <year>2022</year>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2022</year>
          -2 of 8[],
          <year>2022</year>
          , p.
          <fpage>12</fpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ihalainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Järvisalo, CGSS in the 2022 MaxSAT Evaluation</article-title>
          , volume
          <string-name>
            <surname>B-</surname>
          </string-name>
          <year>2022</year>
          <source>-2 of [8]</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>10</fpage>
          -
          <lpage>11</lpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Devriendt</surname>
          </string-name>
          ,
          <article-title>Exact: evaluating a pseudo-Boolean solver on MaxSAT problems</article-title>
          , volume B-2022
          <source>-2 of [8]</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>14</lpage>
          . URL: http://hdl.handle.net/10138/3473.96
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>T.</given-names>
            <surname>Paxian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Reimer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <article-title>Dynamic polynomial watchdog encoding for solving weighted MaxSAT, in: Theory and Applications of Satisfiability Testing-SAT</article-title>
          <year>2018</year>
          : 21st International Conference, SAT 2018,
          <article-title>Held as Part of the Federated Logic Conference</article-title>
          ,
          <source>FloC 2018</source>
          , Oxford, UK, July 9-
          <issue>12</issue>
          ,
          <year>2018</year>
          , Proceedings 21, Springer,
          <year>2018</year>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>L. De Moura</surname>
            ,
            <given-names>N. Bjørner,</given-names>
          </string-name>
          <article-title>Z3: An eficient SMT solver, in: Tools and Algorithms for the Construction and Analysis of Systems: 14th International Conference</article-title>
          , 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 14, Springer,
          <year>2008</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>340</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bjørner</surname>
          </string-name>
          , A.
          <string-name>
            <surname>-D. Phan</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Fleckenstein</surname>
          </string-name>
          <article-title>,z-an optimizing SMT solver, in: Tools and Algorithms for the Construction and Analysis of Systems: 21st International Conference</article-title>
          , TACAS 2015,
          <article-title>Held as Part of the European Joint Conferences on Theory and Practice of Software</article-title>
          ,
          <source>ETAPS</source>
          <year>2015</year>
          , London, UK, April
          <volume>11</volume>
          -
          <issue>18</issue>
          ,
          <year>2015</year>
          , Proceedings 21, Springer,
          <year>2015</year>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>199</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ihalainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <article-title>Clause redundancy and preprocessing in maximum satisfiability</article-title>
          ,
          <source>in: Automated Reasoning: 11th International Joint Conference, IJCAR 2022, Haifa, Israel, August</source>
          <volume>8</volume>
          -
          <issue>10</issue>
          ,
          <year>2022</year>
          , Proceedings, Springer,
          <year>2022</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>94</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>T.</given-names>
            <surname>Korhonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Berg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Saikko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <article-title>Maxpre: an extended MaxSAT preprocessor, in: Theory and Applications of Satisfiability Testing-SAT</article-title>
          <year>2017</year>
          : 20th International Conference,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>