All Projects → go-air → gini

go-air / gini

Licence: MIT license
A fast SAT solver

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gini

Gini
A fast SAT solver
Stars: ✭ 112 (-19.42%)
Mutual labels:  verification, fuzzing, concurrent, dependencies
Sled
the champagne of beta embedded databases
Stars: ✭ 5,423 (+3801.44%)
Mutual labels:  fuzzing, concurrent
rust-verification-tools
RVT is a collection of tools/libraries to support both static and dynamic verification of Rust programs.
Stars: ✭ 237 (+70.5%)
Mutual labels:  verification, fuzzing
DPOTPView
Customisable OTP view and Passcode view
Stars: ✭ 52 (-62.59%)
Mutual labels:  verification
py3webfuzz
A Python3 module to assist in fuzzing web applications
Stars: ✭ 54 (-61.15%)
Mutual labels:  fuzzing
async fifo
A dual clock asynchronous FIFO written in verilog, tested with Icarus Verilog
Stars: ✭ 117 (-15.83%)
Mutual labels:  verification
practice
Java并发编程与高并发解决方案:http://coding.imooc.com/class/195.html Java开发企业级权限管理系统:http://coding.imooc.com/class/149.html
Stars: ✭ 39 (-71.94%)
Mutual labels:  concurrent
docker-mkcert
Docker container for creating valid local ssl certificates
Stars: ✭ 87 (-37.41%)
Mutual labels:  verification
unicorn-fuzzer
expansion of afl-unicorn using c++
Stars: ✭ 25 (-82.01%)
Mutual labels:  fuzzing
nim-systemverilog-dpic
Using Nim to interface with SystemVerilog test benches via DPI-C
Stars: ✭ 18 (-87.05%)
Mutual labels:  verification
targets
🎯 A collection of fuzzing targets written in Rust.
Stars: ✭ 91 (-34.53%)
Mutual labels:  fuzzing
afl-dynamorio
run AFL with dynamorio
Stars: ✭ 32 (-76.98%)
Mutual labels:  fuzzing
onix
A reactive configuration manager designed to support Infrastructure as a Code provisioning, and bi-directional configuration management providing a single source of truth across multi-cloud environments.
Stars: ✭ 89 (-35.97%)
Mutual labels:  dependencies
HITB2020 FSFUZZER
My Material for the HITB presentation
Stars: ✭ 33 (-76.26%)
Mutual labels:  fuzzing
proofable-image
Build trust into your image by creating a blockchain certificate for it
Stars: ✭ 17 (-87.77%)
Mutual labels:  verification
lms-verify
generative programming & verification
Stars: ✭ 29 (-79.14%)
Mutual labels:  verification
RFB ESRGAN-PyTorch
Simple realization of papers in oppo Research Institute super score competition.
Stars: ✭ 62 (-55.4%)
Mutual labels:  resolution
x41-smartcard-fuzzing
X41 Smartcard Fuzzer
Stars: ✭ 113 (-18.71%)
Mutual labels:  fuzzing
IEC61850-MMS-Fuzzer
Mutation Based Fuzzer for IEC61850 Server IED'S
Stars: ✭ 20 (-85.61%)
Mutual labels:  fuzzing
FirmWire
FirmWire is a full-system baseband firmware emulation platform for fuzzing, debugging, and root-cause analysis of smartphone baseband firmwares
Stars: ✭ 555 (+299.28%)
Mutual labels:  fuzzing

⊧ Gini: A fast SAT solver.

The Gini sat solver is a fast, clean SAT solver written in Go. It is to our knowledge the first ever performant pure-Go SAT solver made available.

GoDoc

Google Group

This solver is fully open source, originally developped at IRI France.

Build/Install

For the impatient:

go install github.com/go-air/gini/...@latest

I recommend however building the package github.com/go-air/gini/internal/xo with bounds checking turned off. This package is all about anything-goes performance and is the workhorse behind most of the gini sat solver. It is also extensively tested and well benchmarked, so it should not pose any safety threat to client code. This makes a signficant speed difference (maybe 10%) on long running problems.

The SAT problem in 5 minutes

The SAT Problem

Usage

Our user guide shows how to solve SAT problems, circuits, do Boolean optimisation, use concurrency, using our distributed CRISP protocol, and more.

Citing Gini

Zenodo DOI based citations and download: DOI

BibText:

@misc{scott_cotton_2019_2553490,
  author       = {Scott  Cotton},
  title        = {go-air/gini: Sapeur},
  month        = jan,
  year         = 2019,
  doi          = {10.5281/zenodo.2553490},
  url          = {https://doi.org/10.5281/zenodo.2553490}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].