Generated by GPT-5-mini| Glucose (SAT solver) | |
|---|---|
| Name | Glucose |
| Author | Tomasz Gluck; originally developed by Mathieu Audemard, Yves Hamadi, Jean-Marie Lagniez |
| Initial release | 2009 |
| Latest release | 2021 (Glucose 4.1) |
| Programming language | operating_system = Linux, Windows, macOS | license = MIT License | website = Glucose |
Glucose (SAT solver) is a conflict-driven clause learning SAT solver designed for efficient Boolean satisfiability problem solving in industrial and academic contexts. It emphasizes clause evaluation strategies, restart policies, and learning heuristics derived from research communities and competitions such as the SAT Competition and the SAT Race. Glucose has been applied across verification, planning, and synthesis projects associated with multiple institutions and companies.
Glucose originated from research groups including Université Paris-Sud, CNRS, and collaborations with teams at IRIT, LORIA, and the University of California, Berkeley; primary contributors include Mathieu Audemard, Yves Hamadi, and colleagues who presented work at venues like SAT 2009, CADE, IJCAI, and SAT-Race 2010. The solver emerged in the context of earlier systems such as MiniSat, Chaff, Grasp, and influences from researchers at IBM Research and Microsoft Research. Over time Glucose incorporated ideas from algorithmic work at EPFL, MIT, and ETH Zurich, and its development track intersects with conferences like CP, AAAI, and FLoC. Major releases followed competition cycles, with community engagement from projects at Google, Amazon, Intel, and academic groups at University of Oxford and Sorbonne University.
Glucose's architecture builds upon the CDCL paradigm popularized by Chaff and MiniSat, integrating heuristic modules inspired by studies at DIMACS and implementations related to Boehm's early designs. Core components include a Boolean constraint propagation engine, a conflict analysis routine using first-UIP learning similar to approaches from Fleury and Zhang, and a variable activity heuristic derived from activity scores analyzed in works from Vardi and Heule. The solver employs data structures for literals and clauses influenced by designs at Princeton University and Carnegie Mellon University, with memory management techniques corresponding to practices at Google Research and Microsoft Research Cambridge. Restart strategies in Glucose follow Luby sequences studied by Donald Knuth and adaptations used in solvers developed at University of Toronto and RWTH Aachen. Clause database management uses metrics akin to the LBD (Literal Block Distance) measure introduced by researchers affiliated with INRIA and ETH Zurich; decision heuristics and clause deletion policies reflect research disseminated at SAT 2011 and SAT 2013.
Glucose introduced the LBD metric as a central innovation, aligning with theoretical investigations from SAT 2013 and experimental reports from groups at CEA and University of Freiburg. It popularized aggressive clause database reduction, clause activity aging, and focused restarts which were examined alongside contributions from Alexander Biere and Marijn Heule. The solver supports proof logging practices compatible with standards from SAT Competition organizers and interoperability with model checking tools from Cadence Design Systems and Synopsys. Glucose integrates incremental solving interfaces used in workflows at NASA and European Space Agency, and it influenced portfolios of solvers in systems developed at Z3 teams and groups around CVC4 research. Innovations in preprocessing and inprocessing reflect discussions in proceedings of SAT 2012 and collaborations with researchers at TU Wien.
Glucose consistently performed strongly in the SAT Competition and in the Solver Competition tracks, often competing with solvers like Lingeling, CryptoMiniSat, MapleSAT, and Cadical. Empirical evaluations conducted by groups at University of Helsinki and University of Manchester compared Glucose on benchmarks from SATLIB, industrial instances from IBM, and crafted problems from DIMACS Challenge. Performance profiles show advantages on crafted and industrial families similar to those reported by teams at FAU Erlangen-Nürnberg and University of Bonn. Benchmarks documented in proceedings at SAT-Race and SAT Challenge highlighted Glucose's balance between preprocessing overhead and solution throughput, with comparative studies from SRI International and NIST highlighting its robustness in memory-constrained environments.
Glucose has been applied in formal verification efforts at Intel Corporation, ARM Holdings, Siemens, and in academic projects at EPFL and TU Darmstadt for hardware model checking, equivalence checking, and bounded model checking workflows. It supports synthesis and planning tasks reported by groups at Carnegie Mellon University and Stanford University and has been used in cryptanalysis research linked to NIST submissions and studies by Cryptology ePrint Archive authors. In software verification, teams at Facebook and Google have harnessed Glucose-style heuristics in static analysis stacks; in AI, projects at DeepMind and OpenAI explored SAT encodings for combinatorial search inspired by Glucose performance. Industrial adopters include design automation companies like Mentor Graphics and formal methods vendors such as OneSpin Solutions.
Official implementations of Glucose are written in C++, with releases aligned to solver competition cycles and maintenance by original authors and community contributors from repositories hosted by institutions like GitHub and collaborative efforts associated with INRIA and LORIA. Notable forks and integrations appear in projects by University of Vienna, University of Cambridge, and toolchains at NASA Ames Research Center. Major version milestones include the 2.x series refining LBD handling, the 3.x series improving restart and inprocessing, and the 4.x series enhancing proof logging and portability for Windows and macOS platforms; these changes mirror development patterns seen in solvers like MiniSat and CryptoMiniSat.
Category:SAT solvers Category:Computer science software