Skip to content

Commit

Permalink
Merge branch 'main' into region-cov-basic
Browse files Browse the repository at this point in the history
  • Loading branch information
adpaco-aws committed Aug 15, 2024
2 parents 8511087 + f27a5ed commit a94800e
Show file tree
Hide file tree
Showing 22 changed files with 1,593 additions and 674 deletions.
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,46 @@ This file contains notable changes (e.g. breaking changes, major changes, etc.)

This file was introduced starting Kani 0.23.0, so it only contains changes from version 0.23.0 onwards.

## [0.54.0]

### Major Changes
* We added support for slices in the `#[kani::modifies(...)]` clauses when using function contracts.
* We introduce an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros.
* We enabled support for concrete playback for harness that contains stubs or function contracts.
* We added support for log2*, log10*, powif*, fma*, and sqrt* intrisincs.

### Breaking Changes
* The `-Z ptr-to-ref-cast-checks` option has been removed, and pointer validity checks when casting raw pointers to references are now run by default.

## What's Changed
* Make Kani reject mutable pointer casts if padding is incompatible and memory initialization is checked by @artemagvanian in https://github.com/model-checking/kani/pull/3332
* Fix visibility of some Kani intrinsics by @artemagvanian in https://github.com/model-checking/kani/pull/3323
* Function Contracts: Modify Slices by @pi314mm in https://github.com/model-checking/kani/pull/3295
* Support for disabling automatically generated pointer checks to avoid reinstrumentation by @artemagvanian in https://github.com/model-checking/kani/pull/3344
* Add support for global transformations by @artemagvanian in https://github.com/model-checking/kani/pull/3348
* Enable an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros by @adpaco-aws in https://github.com/model-checking/kani/pull/3283
* Fix contract handling of promoted constants and constant static by @celinval in https://github.com/model-checking/kani/pull/3305
* Bump CBMC Viewer to 3.9 by @tautschnig in https://github.com/model-checking/kani/pull/3373
* Update to CBMC version 6.1.1 by @tautschnig in https://github.com/model-checking/kani/pull/2995
* Define a struct-level `#[safety_constraint(...)]` attribute by @adpaco-aws in https://github.com/model-checking/kani/pull/3270
* Enable concrete playback for contract and stubs by @celinval in https://github.com/model-checking/kani/pull/3389
* Add code scanner tool by @celinval in https://github.com/model-checking/kani/pull/3120
* Enable contracts in associated functions by @celinval in https://github.com/model-checking/kani/pull/3363
* Enable log2*, log10* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3001
* Enable powif* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/2999
* Enable fma* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3002
* Enable sqrt* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3000
* Remove assigns clause for ZST pointers by @carolynzech in https://github.com/model-checking/kani/pull/3417
* Instrumentation for delayed UB stemming from uninitialized memory by @artemagvanian in https://github.com/model-checking/kani/pull/3374
* Unify kani library and kani core logic by @jaisnan in https://github.com/model-checking/kani/pull/3333
* Stabilize pointer-to-reference cast validity checks by @artemagvanian in https://github.com/model-checking/kani/pull/3426
* Rust toolchain upgraded to `nightly-2024-08-07` by @jaisnan @qinheping @tautschnig @feliperodri

## New Contributors
* @carolynzech made their first contribution in https://github.com/model-checking/kani/pull/3387

**Full Changelog**: https://github.com/model-checking/kani/compare/kani-0.53.0...kani-0.54.0

## [0.53.0]

### Major Changes
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"

[[package]]
name = "build-kani"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"anyhow",
"cargo_metadata",
Expand Down Expand Up @@ -284,7 +284,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"

[[package]]
name = "cprover_bindings"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"lazy_static",
"linear-map",
Expand Down Expand Up @@ -514,15 +514,15 @@ dependencies = [

[[package]]
name = "kani"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"kani_core",
"kani_macros",
]

[[package]]
name = "kani-compiler"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"clap",
"cprover_bindings",
Expand All @@ -543,7 +543,7 @@ dependencies = [

[[package]]
name = "kani-driver"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"anyhow",
"cargo_metadata",
Expand Down Expand Up @@ -572,7 +572,7 @@ dependencies = [

[[package]]
name = "kani-verifier"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"anyhow",
"home",
Expand All @@ -581,14 +581,14 @@ dependencies = [

[[package]]
name = "kani_core"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"kani_macros",
]

[[package]]
name = "kani_macros"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"proc-macro-error",
"proc-macro2",
Expand All @@ -598,7 +598,7 @@ dependencies = [

[[package]]
name = "kani_metadata"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"clap",
"cprover_bindings",
Expand Down Expand Up @@ -1033,18 +1033,18 @@ dependencies = [

[[package]]
name = "serde"
version = "1.0.207"
version = "1.0.206"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5665e14a49a4ea1b91029ba7d3bca9f299e1f7cfa194388ccc20f14743e784f2"
checksum = "5b3e4cd94123dd520a128bcd11e34d9e9e423e7e3e50425cb1b4b1e3549d0284"
dependencies = [
"serde_derive",
]

[[package]]
name = "serde_derive"
version = "1.0.207"
version = "1.0.206"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e"
checksum = "fabfb6138d2383ea8208cf98ccf69cdfb1aff4088460681d84189aa259762f97"
dependencies = [
"proc-macro2",
"quote",
Expand Down Expand Up @@ -1123,7 +1123,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"

[[package]]
name = "std"
version = "0.53.0"
version = "0.54.0"
dependencies = [
"kani",
]
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

[package]
name = "kani-verifier"
version = "0.53.0"
version = "0.54.0"
edition = "2021"
description = "A bit-precise model checker for Rust."
readme = "README.md"
Expand Down
2 changes: 1 addition & 1 deletion cprover_bindings/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

[package]
name = "cprover_bindings"
version = "0.53.0"
version = "0.54.0"
edition = "2021"
license = "MIT OR Apache-2.0"
publish = false
Expand Down
2 changes: 1 addition & 1 deletion kani-compiler/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

[package]
name = "kani-compiler"
version = "0.53.0"
version = "0.54.0"
edition = "2021"
license = "MIT OR Apache-2.0"
publish = false
Expand Down
Loading

0 comments on commit a94800e

Please sign in to comment.