awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
model-checking avatar

model-checking/kani

0
View on GitHub↗
2,943 stars·142 forks·Rust·apache-2.0·2 vuesmodel-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.

Historique des stars

Graphique de l'historique des stars pour model-checking/kaniGraphique de l'historique des stars pour model-checking/kani

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Kani

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Kani.
  • jonathansalwan/tritonAvatar de JonathanSalwan

    JonathanSalwan/Triton

    4,202Voir sur 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++
    Voir sur GitHub↗4,202
  • nasa-sw-vnv/ikosAvatar de NASA-SW-VnV

    NASA-SW-VnV/ikos

    3,115Voir sur 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
    Voir sur GitHub↗3,115
  • leanprover/lean4Avatar de leanprover

    leanprover/lean4

    8,306Voir sur 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
    Voir sur GitHub↗8,306
  • consensys/mythrilAvatar de ConsenSys

    ConsenSys/mythril

    4,251Voir sur 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
    Voir sur GitHub↗4,251
Voir les 30 alternatives à Kani→

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de model-checking/kani ?

Les fonctionnalités principales de model-checking/kani sont : 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.

Quelles sont les alternatives open-source à model-checking/kani ?

Les alternatives open-source à model-checking/kani incluent : 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…