<!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>SAT-Web: A Web-Based Educational SAT Visualisation Tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>James Madgwick</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Mariusz Lester</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Reading</institution>
          ,
          <addr-line>PO Box 217, Reading, Berkshire, RG6 6AH</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <fpage>168</fpage>
      <lpage>176</lpage>
      <abstract>
        <p>Provision of tools for explaining SAT solvers and visualising SAT instances helps to facilitate easier entry to the field for newcomers, yet this remains an under-explored area. In this tool paper we present SAT-Web, a web-based educational tool for explaining SAT solving, and the first tool of its kind which can be used entirely from a web-browser. Our tool provides visualisations with search trees and variable interaction graphs, and includes a DPLL solver with tracing. We explain the design, techniques and implementation details behind the tool. We also review approaches and tools for instance visualisation and existing pedagogical tools designed to explain solvers. Finally, we discuss potential future improvements and opportunities for SAT visualisation and pedagogical tools.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;visualisation</kwd>
        <kwd>pedagogical tools</kwd>
        <kwd>explaining solving</kwd>
        <kwd>web-based tools</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The volume and significance of SAT research has continued to increase throughout the past quarter
century, yet there has been comparably little focus on educational materials and tools for explaining
SAT concepts and the operation of key algorithms.</p>
      <p>
        While some earlier visualisation tools have claimed a secondary educational use, the first dedicated
tool for educational SAT solving [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] was only published in 2018. Although other tools have been
developed since, this area remains underdeveloped when compared to the wider field of SAT tools and
mature solvers.
      </p>
      <p>Educational tools have been aimed at an audience who have limited prior knowledge of SAT
fundamentals and solver algorithms, such as undergraduate university students.</p>
      <p>
        These tools all generally implement the older and simpler DPLL algorithm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], with most also
supporting CDCL approaches, which have been adopted by all modern SAT solvers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] since being
introduced in 1999 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. They focus on explaining algorithms, by providing tracing and visualisations to
demonstrate and explain the steps taken (e.g. variable assignments) when an instance is evaluated to
determine satisfiability. By helping to develop an understanding of SAT, these tools hope to stimulate
additional interest in the field more generally.
      </p>
      <p>
        We introduce a new educational SAT tool (SAT-Web) which builds on the concepts introduced by
prior tools, while being accessed entirely from within a web-browser. The source code is available on
GitHub and also archived on Zenodo [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. SAT-Web can be accessed online via GitHub Pages.
      </p>
      <p>This use of web technologies to provide easier access is unique compared to previous tools, which all
require a downloaded application to be run locally. The tool also provides an instance structure graph
visualisation and a dynamic representation of problem formulae using mathematical notation, features
not found in prior educational tools.</p>
      <p>We examine techniques for visualising instances and discuss previous work on the development
of educational tools in Section 2. In Section 3 we present the SAT-Web tool itself, detailing the tool’s
features, design decisions, and implementation details. After comparing the features of SAT-Web against
existing tools in Section 4, we conclude with some ideas for future work in Section 5.
16th Pragmatics of SAT International Workshop, August 11, 2025, Glasgow, Scotland
* Corresponding author.
$ james@madgwick.xyz (J. Madgwick); m.lester@reading.ac.uk (M. M. Lester)
 https://www.reading.ac.uk/computer-science/staf/dr-martin-lester (M. M. Lester)
0009-0009-4900-0515 (J. Madgwick); 0000-0002-2323-1771 (M. M. Lester)</p>
      <p>© 2025 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
    </sec>
    <sec id="sec-2">
      <title>2. Visualisation techniques and Educational tools</title>
      <p>There are generally two motivations for visualising instances and the solving process. The primary
reason has been to improve understanding of the internal structure of problems; to identify why some
instances are easier to solve than others in order to develop optimisations for solvers. A secondary
purpose is for explaining SAT and helping those unfamiliar with its concepts through use of visualisations.
These techniques include textual representations of the solving process, diagrams, and graphs.</p>
      <p>
        Graphs have always been a popular technique for visualisation of instances, with one of the first
examples of visualisation (due to Slater in 2004) using connected graphs drawn using the popular dot
tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Shortly afterwards, Sinz and Dieringer developed a dedicated tool called DPVIS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to gain
insight into instance structure and provide “hints on why solving a particular instance is hard or easy”.
At this time, Brien and Malik described understanding of solver run-time behaviour as “lacking”, as it
was mostly limited to examining metrics [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. More recently, Newsham and others have identified the
concept of communities inside instance structure (partly through visualisations) and directly linked it to
solver run time [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Over the last 20 years a variety of SAT visualisation tools have been developed; Table 1 shows a
summary of visualisations and related features supported by a selection of tools.
X
X
X
X</p>
      <p>
        LearnSAT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
X
X
      </p>
      <p>
        SATViz
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
X
X
X
      </p>
      <p>
        Varieties of graphs include search tree graphs, variable interaction graphs1 and implication graphs.
Others, such as the common variable graph, hypergraph, and bipartite variable clause graph2 can also be
used. However, these are not often used in tools because they lack useful information, represent similar
information to other graphs, or for hypergraphs, because they are dificult to render visually [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. It
should be noted that with the exception of hypergraphs, the conversion from an original problem to the
graph is lossy, preventing reconstruction of an original SAT instance [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. See Figure 1 for examples.
      </p>
      <p>
        Variable interaction graphs show relationships between variables across all instance clauses. Each
variable is represented as a node, with edges drawn between variables which exist in the same clause [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
These graphs can be drawn without making any assignments or needing any information from a solver;
this ease of generation may explain why they are featured in many visualisation tools. They are
also helpful for understanding an instance’s structure, with some instances exhibiting specific shapes,
clusters, and other visual patterns. The graph layout is often computed using the force-directed
placement algorithm to generate node positions [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], with 3D graphs using a multi-level extension of
this method [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The layout can also be arranged to highlight communities of related nodes [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        Implication graphs are used to show how the value of one variable implies the value of another,
either between variables in a single clause or across a subset of clauses. They are primarily used for
demonstrating the operation of unit propagation. Implying values for solving directly is possible only
for 2SAT problems [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], but they can still be useful to determine an implication within a clause where
all but one variable has been assigned.
      </p>
      <p>
        In addition to a visualisation of the initial problem, some tools provide an animation of the solving
process to demonstrate the reduction in complexity caused by variable elimination. This is implemented
1Sometimes called variable instance graphs [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
2Also known as a bipartite graph [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or factor graph [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
using either a built-in solver or by communicating with an external solver [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Other tools use a textual
output to show a log of events, such as assignment and backtracking [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. The most advanced tools
include playback features, such as a pause or rewind [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Occasionally tools feature plots of metrics
gathered during the solving process, such as decision depth, number of implications and details of
learned conflict clauses [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Search trees are a form of graph representing the sequence of variable assignments, beginning from
a root node and branching downwards as variables are assigned. They are efective for intuitively
visualising backtracking as moving upwards through branches in the tree. Assignments implied by unit
propagation can be shown as additional nodes within the tree [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Learnt clauses in CDCL can also be
shown [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], although this creates a busy diagram.
      </p>
      <p>While a few early visualisation tools (such as DPVIS) were presented as having an educational
aspect, most tools were targeted at only SAT researchers. Only more recently have tools with a purely
educational purpose been developed.</p>
      <p>
        LearnSAT is arguably the most prominent educational tool, being built specifically for the purpose of
explaining and teaching SAT solving [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It uses a command line interface and can export search trees
and implication graphs. The implementation uses Prolog with built in solvers for DPLL and CDCL, with
a tutorial and example problems provided. The recent pedagogical tool EduSAT [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is supplied as a
Python library with a DPLL solver and ofers an understanding through coding approach using Jupyter
notebooks. The similarly recent Interactive SAT Tracer (SAT-IT) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a Java app with a graphical
user interface providing a trace of the solving process and details of conflict analysis. Users can step
through every part of the process using buttons and load problems using the standard DIMACS CNF
format, which is used for the provided example problems.
      </p>
      <p>
        The educational tools described above all run locally, requiring downloads and additional runtime
dependencies to be installed on the user’s system before they can be used. With the exception of SAT-IT,
they also require prior knowledge of specific programming languages and lack a simple user interface.
The authors of EduSAT [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and SAT-IT [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] specifically highlight these downsides of LearnSAT.
C3
      </p>
      <p>C2
hypergraph
variable interaction graph</p>
    </sec>
    <sec id="sec-3">
      <title>3. Design and implementation</title>
      <p>As described above, the relatively new field of educational SAT tools lacks an application which can
easily be accessed and used without requiring additional setup. We therefore decided to implement a new
tool to address these limitations. This section covers the feature selection, design, and implementation
of SAT-Web, our browser based educational SAT tool.</p>
      <p>The tool is built as a single page application (SPA) style interactive web app, using a layout similar to
SAT-IT with all components visible on the screen at the same time. Users can access the tool simply
by navigating to a URL where the site is hosted, without any downloads or runtimes being required.
Similar to existing tools, a panel based layout is used with separate spaces set aside for each feature.</p>
      <p>Figure 2 shows the web app interface. It has the following components: CNF input area (using
DIMACS format), example SAT problem selection, solver control panel, log for solver tracing, instance
representation using mathematical notation, solver information panel, search tree graph visualisation,
and variable interaction graph visualisation.</p>
      <p>The CNF input area allows manual entry of problems and loading problems directly from a local file
on the user’s computer. The example SAT problem selector provides problems ranging from very simple
(solvable by hand), to some well known more complex problems which cannot be solved by backtracking
solvers in a reasonable time. This selection allows users to get started without needing to find any
problems themselves. The mathematical notation panel (Figure 3) uses colour to indicate the currently
assigned boolean value of literals and clauses within the current problem. The variable interaction
graph visualisation (Figure 5) can be zoomed, panned, and nodes in the graph can be moved around.
These features are also present in the search graph visualisation (Figures 6 and 7). The solver control
panel controls all aspects of the app, such as parsing CNF input, selecting algorithms, and viewing final
variable assignments. The solver log (Figure 4) displays traces explaining the internal operations of the
solver as the user steps through a problem, with colour used to emphasise assignments and conflicts.
The solver information panel displays details such as how many times backtracking has occurred and
the number of assignments made by unit propagation or pure literal elimination. Most components
have an associated explanatory tooltip box, shown when hovering over the component or its heading.</p>
      <p>SAT-Web operates entirely as a client-side web app without any remote server components. This
decision was made to simplify deployment and use, allowing the app to be hosted using a basic
webserver. This also accelerated the software development process by removing the requirement to write
an API for client-server interaction. A downside to this approach is all code needs to run in the user’s
browser, which significantly reduces the selection of programming languages and libraries compared to
a client-server app.</p>
      <p>
        The Svelte JavaScript web framework (used with the Vite frontend build tool) provides the backbone
of the app, controlling all user input and UI events. All the features listed above form individual Svelte
components. The Cytoscape.js [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] library is used for providing the visualisations. This library is aimed
at an academic audience and has a specific focus on graphs, with good support for force-directed layout
algorithms and trees.
      </p>
      <p>
        While using an existing SAT solver within the app was considered, this was ruled out because all
well known solvers are written using compiled languages (e.g. C, C++) which can only be used in
a browser with WebAssembly [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. This would have greatly increased complexity, coupled with the
modifications required to existing solvers for extracting traces [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Instead of reusing existing solver
code, backtracking and DPLL solver implementations were written using TypeScript. The solver code for
DPLL uses the repeating loop approach [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], rather than a recursive function [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] because this is more
suited to running a single iteration of the algorithm before pausing solving to render visualisations.
      </p>
      <p>Tracing represents the tracking of internal activities within a solver algorithm. To store and handle
traces an event architecture was developed, where an event is a single item of solver activity. For
example, a variable assignment and the detection of a conflict are both types of event in this architecture.
Events are added to an event log in order of occurrence as the user steps through the solving process.
All possible solver activity has an event representation; event objects can also contain complex object
types. Information is extracted from events and used by the UI and visualisations, e.g. entries in the
solver log correspond with an event or multiple related events.</p>
      <p>
        The variable interaction graph component is rendered by processing instance clauses to generate an
array of Cytoscape elements, with all duplicate links removed as only one edge is drawn between each
pair of variables in the graph. When first drawn, the graph is formatted using the cose Cytoscape layout
(a force-directed physics layout algorithm). The nodes and edges shown are then updated with every
step of the solver algorithm. The visual styling applied to nodes and edges was based on the variable
interaction graphs produced by DPVIS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Figure 5 shows the panel after an example problem has been
loaded.
      </p>
      <p>
        The search graph component uses the dagre Cytoscape layout, which provides a hierarchical directed
acyclic graph. It shows all decisions and variable assignments made while solving an instance. Cytoscape
allows for configurable styling based on the class of an element or on the contents of the element
object itself. This was used to apply dynamic styles mimicking the concise appearance of the search
trees presented by Fichte and others [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]; compared to the more verbose appearance of the trees used
in LearnSAT [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Cytoscape elements in the graph are generated using events, with each event type
associated with an edge or node, except for backtracking events which are used to track the current
position in the tree.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Comparison</title>
      <p>
        Compared with existing educational SAT tools, SAT-Web provides a unique feature set. A high-level
comparison of the features of existing tools and SAT-Web is shown in Table 2. The existing tools
described previously mostly relied on command line input and manually writing scripts. LearnSAT was
the only tool to provide visualisation outputs, but only in the form of image files placed into a separate
folder, as it uses a terminal interface. All existing tools also require additional runtime dependencies
to be installed before being downloaded and run locally. Representing a problem using mathematical
notation is a unique feature of SAT-Web, not found in any previous tool. While solver performance is a
less important aspect of educational tools, testing showed the DPLL implementation in SAT-Web to be
least 10 times quicker than SAT-IT when solving problems from the AIM benchmark set [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Future Work and Conclusion</title>
      <p>
        While SAT-Web contains the primary educational components of previous tools, there are a variety of
additional concepts which could be explored to enhance the tool’s usefulness. In particular, making the
practical applications of SAT more apparent by demonstrating the link between a real world problem
and the SAT instance encoding it. Visualising problems in their original format is demonstrated in
Clingraph [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], where a Sudoku grid is filled up interactively as variable assignments are made to
an Answer Set Programming problem representing the puzzle. A more innovative concept involves
transforming instances into a visual maze [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], where the path through the maze represents a set of
variable assignments and a path to the exit shows satisfiability.
      </p>
      <p>
        We plan to improve SAT-Web by adding further features and functionality. The most useful of these
would be support for the CDCL algorithm, bringing SAT-Web in line with most other tools. As the
existing components are not suficient to explain the operation of CDCL, this would require the addition
of at least an annotated implication graph to demonstrate visually how learnt clauses are formed. The
tabular representation used in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] for explaining CDCL trails could also be considered. The tool’s basic
step by step animation could be enhanced by adding an option to run a set number of steps together
with a specified delay between each, creating a smooth animation – similar to the functionality in
DPVIS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Another feature could be the ability to export video files, as used by SATViz [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. It would
also be useful to make existing visualisations more interactive, such as collapsible nodes in search trees
and clicking on graph nodes to show further information. 3D rendering could be added as an option
for the variable interaction graph, as shown in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], although this would require a suitable JavaScript
library supporting real time 3D.
      </p>
      <p>Considering that many of the early visualisation tools can no longer be downloaded, or are reliant
on legacy runtime dependencies, we hope to inspire SAT researchers to consider using the web as a
platform for building future SAT visualisation tools.</p>
      <p>To conclude, we have presented a new pedagogical SAT tool which is the first of its kind to use web
technologies. Our tool compares favourably with previous tools, supporting a unique set of features.
Easy access to the tool online will hopefully allow students to understand SAT more eficiently and
generate further interest in the field of educational SAT tools.</p>
    </sec>
    <sec id="sec-6">
      <title>Declaration on Generative AI</title>
      <p>The authors have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ben-Ari</surname>
          </string-name>
          ,
          <article-title>LearnSAT: A SAT solver for education</article-title>
          ,
          <source>J. Open Source Softw</source>
          .
          <volume>3</volume>
          (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          .21105/ joss.00639.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Logemann</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. Loveland,</surname>
          </string-name>
          <article-title>A machine program for theorem-proving</article-title>
          ,
          <source>Commun. ACM</source>
          <volume>5</volume>
          (
          <year>1962</year>
          )
          <fpage>394</fpage>
          -
          <lpage>397</lpage>
          . doi:
          <volume>10</volume>
          .1145/368273.368557.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Heule</surname>
          </string-name>
          , H. van Maaren, T. Walsh (Eds.), Handbook of Satisfiability, IOS Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sakallah</surname>
          </string-name>
          ,
          <article-title>GRASP: a search algorithm for propositional satisfiability</article-title>
          ,
          <source>IEEE Trans. Comput</source>
          .
          <volume>48</volume>
          (
          <year>1999</year>
          )
          <fpage>506</fpage>
          -
          <lpage>521</lpage>
          . doi:
          <volume>10</volume>
          .1109/12.769433.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Madgwick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lester</surname>
          </string-name>
          ,
          <string-name>
            <surname>SAT-Web</surname>
          </string-name>
          :
          <article-title>A web based educational SAT visualisation tool (software source code</article-title>
          ),
          <year>2025</year>
          . doi:
          <volume>10</volume>
          .5281/zenodo.15801988.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Slater</surname>
          </string-name>
          ,
          <article-title>Visualisation of satisfiability problems using connected graphs</article-title>
          ,
          <source>Technical Report</source>
          , Australian National University,
          <year>2004</year>
          . URL: https://users.cecs.anu.edu.au/~andrews/problem2graph/ problem2graph.html.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sinz</surname>
          </string-name>
          , E.-M. Dieringer,
          <article-title>DPvis: a tool to visualize the structure of SAT instances</article-title>
          ,
          <source>in: Theory and Applications of Satisfiability Testing: 8th Int. Conf.</source>
          ,
          <year>2005</year>
          , p.
          <fpage>257</fpage>
          -
          <lpage>268</lpage>
          . doi:
          <volume>10</volume>
          .1007/11499107_
          <fpage>19</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Brien</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Malik, Understanding the dynamic behavior of modern DPLL SAT solvers through visual analysis</article-title>
          ,
          <source>in: Formal Methods in Computer Aided Design (FMCAD)</source>
          , San Jose, CA, USA,
          <year>2006</year>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>50</lpage>
          . doi:
          <volume>10</volume>
          .1109/FMCAD.
          <year>2006</year>
          .
          <volume>35</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Newsham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fischmeister</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Audemard</surname>
          </string-name>
          , L. Simon,
          <article-title>Impact of community structure on SAT solver performance</article-title>
          ,
          <source>in: Theory and Applications of Satisfiability Testing: 17th Int. Conf.</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>252</fpage>
          -
          <lpage>268</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -09284-3_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sinz</surname>
          </string-name>
          ,
          <article-title>Visualizing SAT instances and runs of the DPLL algorithm</article-title>
          ,
          <source>J. Autom. Reason</source>
          .
          <volume>39</volume>
          (
          <year>2007</year>
          )
          <fpage>219</fpage>
          -
          <lpage>243</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10817-007-9074-1.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Orbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Areces</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Infante-López, iSat: Structure visualization for SAT problems</article-title>
          , in: Logic for Programming,
          <source>Artificial Intelligence, and Reasoning: 18th Int. Conf.</source>
          ,
          <year>2012</year>
          , p.
          <fpage>335</fpage>
          -
          <lpage>342</lpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>642</fpage>
          -28717-6_
          <fpage>26</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Newsham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Lindsay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fischmeister</surname>
          </string-name>
          , K. Czarnecki,
          <article-title>SATGraf: Visualizing the evolution of SAT formula structure in solvers</article-title>
          ,
          <source>in: Theory and Applications of Satisfiability Testing: 18th Int. Conf.</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>70</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -24318-
          <issue>4</issue>
          _
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>T.</given-names>
            <surname>Holzenkamp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kuryshev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Oltmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wäldele</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zuber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Heuer</surname>
          </string-name>
          , M. Iser,
          <article-title>SATViz: Real-time visualization of clausal proofs</article-title>
          ,
          <source>in: Pragmatics of SAT: 13th Int. Workshop</source>
          ,
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .48550/ arXiv.2209.05838.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kusper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Biró</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nagy</surname>
          </string-name>
          ,
          <article-title>Resolvable networks - a graphical tool for representing and solving SAT</article-title>
          ,
          <source>Mathematics</source>
          <volume>9</volume>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .3390/math9202597.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cané</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Coll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rojo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Villaret</surname>
          </string-name>
          , SAT-IT:
          <article-title>The interactive SAT tracer</article-title>
          ,
          <source>in: Catalan Association for Artificial Intelligence: 25th Int. Conf.</source>
          , volume
          <volume>375</volume>
          <source>of Frontiers in Artificial Intelligence and Applications</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>337</fpage>
          -
          <lpage>346</lpage>
          . doi:
          <volume>10</volume>
          .3233/FAIA230704.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J. K.</given-names>
            <surname>Fichte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Berre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hecher</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. Szeider,</surname>
          </string-name>
          <article-title>The silent (r)evolution of SAT, Commun</article-title>
          . ACM
          <volume>66</volume>
          (
          <year>2023</year>
          )
          <fpage>64</fpage>
          -
          <lpage>72</lpage>
          . doi:
          <volume>10</volume>
          .1145/3560469.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>An</surname>
          </string-name>
          , M. Ma, T. Johnson,
          <article-title>EduSAT: A pedagogical tool for theory and applications of boolean satisfiability</article-title>
          , arXiv e-prints (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.2308.07890.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Franz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. T.</given-names>
            <surname>Lopes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kucera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cheung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Siper</surname>
          </string-name>
          , G. Huck,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Sumer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. D.</given-names>
            <surname>Bader</surname>
          </string-name>
          , Cytoscape.
          <article-title>js 2023 update: a graph theory library for visualization and analysis</article-title>
          ,
          <source>Bioinformatics</source>
          <volume>39</volume>
          (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .1093/bioinformatics/btad031.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>DIMACS SAT benchmarks</article-title>
          , in: Cliques, Coloring, and Satisfiability:
          <string-name>
            <surname>Second DIMACS Implementation Challenge</surname>
          </string-name>
          ,
          <year>1993</year>
          . URL: http://archive.dimacs.rutgers.edu/pub/challenge/sat/benchmarks/cnf/.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Haas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rossberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Schuf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. L.</given-names>
            <surname>Titzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Holman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gohman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zakai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bastien</surname>
          </string-name>
          ,
          <article-title>Bringing the web up to speed with webassembly</article-title>
          ,
          <source>SIGPLAN Not</source>
          .
          <volume>52</volume>
          (
          <year>2017</year>
          )
          <fpage>185</fpage>
          -
          <lpage>200</lpage>
          . doi:
          <volume>10</volume>
          .1145/3140587.3062363.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hahn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Sabuncu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaub</surname>
          </string-name>
          , T. Stolzmann,
          <article-title>Clingraph: A system for ASP-based visualization</article-title>
          ,
          <source>Theory Pract. Log. Program</source>
          .
          <volume>24</volume>
          (
          <year>2024</year>
          )
          <fpage>533</fpage>
          -
          <lpage>559</lpage>
          . doi:
          <volume>10</volume>
          .1017/S147106842400005X.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>N.</given-names>
            <surname>Manthey</surname>
          </string-name>
          ,
          <article-title>An A-Maze-ing SAT solving visualization</article-title>
          ,
          <source>Technical Report</source>
          , Dresden University of Technology,
          <year>2015</year>
          . URL: https://iccl.inf.tu-dresden.de/web/Techreport3031/en.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Knuth</surname>
          </string-name>
          , The Art of Computer Programming: Satisfiability, Volume
          <volume>4</volume>
          ,
          <string-name>
            <surname>Fascicle</surname>
            <given-names>6</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Pearson</given-names>
            <surname>Ed</surname>
          </string-name>
          . Inc.,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>