awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
model-checking avatar

model-checking/kani

0
View on GitHub↗
2,943 stele·142 fork-uri·Rust·apache-2.0·2 vizualizărimodel-checking.github.io/kani↗

Kani

Kani is a formal verification tool and model checker for Rust. It functions as a bit-precise static analyzer that mathematically proves the correctness and memory safety of code by exhaustively analyzing program states to identify undefined behavior, panics, and logic errors.

The tool identifies bugs by producing concrete counterexamples when program assertions or safety contracts are violated. It enables the definition of function contracts through preconditions and postconditions to verify that inputs and outputs match expected behavior.

The system provides capabilities for Rust program analysis, specifically detecting arithmetic overflows and memory violations within unsafe code blocks. It uses verification harnesses to prove program properties and ensure general code safety.

Features

  • Formal Verification - Provides a comprehensive system for formal software verification using mathematical proofs to guarantee correctness.
  • Memory Safety Verification - Detects undefined behavior and memory safety violations specifically within unsafe code blocks.
  • Compile-Time Correctness Verification - Checks for panics, arithmetic overflows, and custom logic properties through static compile-time verification.
  • SMT-Based Constraint Solving - Translates program logic into mathematical constraints to prove the absence of bugs using SMT solvers.
  • Symbolic Execution Engines - Explores program paths by treating inputs as symbolic variables to analyze all possible execution states.
  • Rust Program Analysis - Analyzes Rust applications for arithmetic overflows and panics to eliminate runtime errors before deployment.
  • Function Contract Specifications - Enables the definition of function contracts through preconditions and postconditions for verified abstractions.
  • Bit-Precise Model Checkers - Implements bit-precise model checking by representing program states as boolean formulas for a SAT solver.
  • Bounded Model Checkers - Uses bounded model checking to limit recursion and loop depth for feasible program verification.
  • Property Verification - Provides mathematical guarantees of validity for program properties or produces counterexamples when properties fail.
  • Rust Model Checkers - Provides a model checker for mathematically proving the correctness and memory safety of Rust code.
  • Formal Verification Tools - Serves as a formal verification tool that identifies undefined behavior, panics, and logic errors.
  • Intermediate Representation Translation - Operates on the LLVM-IR intermediate representation to analyze code independently of source language syntax.
  • Bit-Precise Static Analyzers - Evaluates program properties using bit-level precision to identify complex edge-case bugs and overflows.
  • Formal Bug Finders - Identifies software bugs by producing concrete counterexamples when assertions or safety contracts are violated.
  • Verification Harnesses - Provides verification harnesses to define symbolic input spaces and assertions for mathematical proving.

Istoric stele

Graficul istoricului de stele pentru model-checking/kaniGraficul istoricului de stele pentru model-checking/kani

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Kani

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Kani.
  • jonathansalwan/tritonAvatar JonathanSalwan

    JonathanSalwan/Triton

    4,202Vezi pe GitHub↗

    Triton is a dynamic binary analysis framework designed to automate reverse engineering. It functions as a multi-architecture CPU emulator, an SMT-based symbolic execution engine, and a dynamic taint analysis tool. The framework translates raw machine instructions into abstract syntax trees, allowing it to represent binary program logic as a structured intermediate representation. This allows the system to map multiple hardware instruction sets to a single analysis framework and translate machine instructions into mathematical formulas for solving constraints. Its capabilities cover the simul

    C++
    Vezi pe GitHub↗4,202
  • nasa-sw-vnv/ikosAvatar NASA-SW-VnV

    NASA-SW-VnV/ikos

    3,115Vezi pe GitHub↗

    Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors and runtime errors in C and C++ source code. It functions as an abstract interpretation tool that approximates program execution to identify potential crashes and software defects. The system utilizes a compiler front-end to translate source code into a specialized abstract representation. This process decouples language parsing from the analysis logic, allowing the framework to perform deep program analysis via a formal verification system. The toolkit covers several analys

    C++abstract-interpretationprogram-analysissoftware-verification
    Vezi pe GitHub↗3,115
  • leanprover/lean4Avatar leanprover

    leanprover/lean4

    8,306Vezi pe GitHub↗

    Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems. The system distinguishes itself through a small-kernel verification model, where all proofs are verified by a trusted core of basic logical rules.

    Leanleanlean4
    Vezi pe GitHub↗8,306
  • consensys/mythrilAvatar ConsenSys

    ConsenSys/mythril

    4,251Vezi pe GitHub↗

    Mythril is an Ethereum Virtual Machine smart contract security analyzer that uses symbolic execution to identify vulnerabilities in bytecode before deployment. It functions as a vulnerability scanner and formal auditor, treating program inputs as mathematical symbols to prove the presence of bugs in contract logic. The tool performs bytecode-level analysis to detect flaws that may be hidden by high-level compilers. It integrates SMT solvers to determine if specific vulnerability states are reachable and compares symbolic execution traces against a library of known security flaw signatures. T

    Python
    Vezi pe GitHub↗4,251
Vezi toate cele 30 alternative pentru Kani→

Întrebări frecvente

Ce face model-checking/kani?

Kani is a formal verification tool and model checker for Rust. It functions as a bit-precise static analyzer that mathematically proves the correctness and memory safety of code by exhaustively analyzing program states to identify undefined behavior, panics, and logic errors.

Care sunt principalele funcționalități ale model-checking/kani?

Principalele funcționalități ale model-checking/kani sunt: Formal Verification, Memory Safety Verification, Compile-Time Correctness Verification, SMT-Based Constraint Solving, Symbolic Execution Engines, Rust Program Analysis, Function Contract Specifications, Bit-Precise Model Checkers.

Care sunt câteva alternative open-source pentru model-checking/kani?

Alternativele open-source pentru model-checking/kani includ: jonathansalwan/triton — Triton is a dynamic binary analysis framework designed to automate reverse engineering. It functions as a… nasa-sw-vnv/ikos — Ikos is a formal verification suite and static analysis framework designed to prove the absence of undefined behaviors… leanprover/lean4 — Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify… trailofbits/manticore — Manticore is a symbolic execution engine designed for the analysis of binary executables and smart contracts. It… consensys/mythril — Mythril is an Ethereum Virtual Machine smart contract security analyzer that uses symbolic execution to identify… microsoft/bosquelanguage — Bosque is an experimental programming language and development platform designed for machine-assisted software…