SMT

Top 21 SMT Open-Source Projects

  • manticore

    Symbolic execution tool

  • FStar

    A Proof-oriented Programming Language

    Project mention: Lean4 helped Terence Tao discover a small bug in his recent paper | news.ycombinator.com | 2023-10-27
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • liquidhaskell

    Liquid Types For Haskell

  • alive2

    Automatic verification of LLVM optimizations

    Project mention: Basic SAT model of x86 instructions using Z3, autogenerated from Intel docs | news.ycombinator.com | 2023-05-15

    You can use it to (mostly) validate small snippets are the same. See Alive2 for the application of Z3/formalization of programs as SMT for that [1]. As far as I'm aware there are some problems scaling up to arbitrarily sized programs due to a lack of formalization in higher level languages in addition to computational constraints. With a lot of time and effort it can be done though [2].

    1. https://github.com/AliveToolkit/alive2

    2. https://sel4.systems/

  • py2many

    Transpiler of Python to many other languages

    Project mention: Transpiler, a Meaningless Word | news.ycombinator.com | 2023-08-16

    > Another problem is that there are hundreds of built-in library functions that need to be compiled from Python from C

    An approach I've advocated as one of the main authors of py2many is that all of the python builtin functions be written in a subset of python[1] and then compiled into native code. This has the benefit of avoiding GIL, problems with C-API among other things.

    Do checkout the examples here[2] which work out of the box for many of the 8-9 supported backends.

    [1] https://github.com/py2many/py2many/blob/main/doc/langspec.md

  • jlcparts

    Better parametric search for components available for JLC PCB assembly

    Project mention: Quick Part Search | /r/PrintedCircuitBoard | 2023-06-12
  • smack

    SMACK Software Verifier and Verification Toolchain (by smackers)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • apalache

    APALACHE: symbolic model checker for TLA+ and Quint

    Project mention: Holiday protocols: secret Santa with Quint | news.ycombinator.com | 2023-12-21
  • stainless

    Verification framework and tool for higher-order Scala programs (by epfl-lara)

  • sbv

    SMT Based Verification in Haskell. Express properties about Haskell programs and automatically prove them using SMT solvers.

  • z3_tutorial

    Jupyter notebooks for tutorial on the Z3 SMT solver

  • suslik

    Synthesis of Heap-Manipulating Programs from Separation Logic

  • kryptonite-for-kafka

    Kryptonite for Kafka is a client-side 🔒 field level 🔓 cryptography library for Apache Kafka® offering a Kafka Connect SMT, ksqlDB UDFs, and a standalone HTTP API service. It's an ! UNOFFICIAL ! community project

  • hz3

    Haskell bindings to Microsoft's Z3 API (unofficial).

  • sbvPlugin

    Formally prove properties of Haskell programs using SBV/SMT.

  • SMPT

    SMPT is a SMT-based model checker for Petri nets focused on reachability problems that takes advantage of net reductions (polyhedral reductions).

    Project mention: Petri Net for tokio ? | /r/rust | 2023-09-05

    I also found https://github.com/nicolasAmat/SMPT maybe it should be used because SMT, Z3 looks familiar. It's used in fancy new theorem provers.

  • nus-timetable-optimizer

    Codebase for the NUS Timetable Optimizer, a tool to help students at the National University of Singapore optimize their timetables to their liking.

    Project mention: What new features would you like to see in NUSMods? | /r/nus | 2023-07-04

    This might be what you’re looking for: https://nus-optimizer.com/

  • lsmtree

    Sparse Merkle tree for a key-value map.

  • KeyToField-smt

    A Kafka Connect Single Message Transform (SMT) that enables you to append the record key to the value as a named field

    Project mention: FLaNK Stack Weekly 19 Feb 2024 | dev.to | 2024-02-19
  • JLCDB

    Easy to use query based search engine for JLCPCB SMT service.

    Project mention: Quick Part Search | /r/PrintedCircuitBoard | 2023-06-12

    Cool. I also did something like this a while back that can be found here but i scratched it since i relied on csv dumps on jlcpcb and they decided to remove that. How do you get the data?

  • Hsmtlib

    Haskell library for easy interaction with SMT-LIB 2 compliant solvers.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-19.

SMT related posts

Index

What are some of the best open-source SMT projects? This list will help you:

Project Stars
1 manticore 3,631
2 FStar 2,558
3 liquidhaskell 1,147
4 alive2 671
5 py2many 590
6 jlcparts 483
7 smack 422
8 apalache 401
9 stainless 347
10 sbv 235
11 z3_tutorial 147
12 suslik 121
13 kryptonite-for-kafka 78
14 hz3 57
15 sbvPlugin 44
16 SMPT 27
17 nus-timetable-optimizer 18
18 lsmtree 17
19 KeyToField-smt 16
20 JLCDB 4
21 Hsmtlib 4
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com