stainless icon indicating copy to clipboard operation
stainless copied to clipboard

Verification framework and tool for higher-order Scala programs

Results 183 stainless issues
Sort by recently updated
recently updated
newest added

Let's investigate what a remote verification server would look like. 1. Set up a container-based Inox server with a shared verification cache 2. Add a `--remote-server=URL` flag to Stainless to...

feature
remote-server

Hi @drganam @vkuncak, can Stainless generate equivalence lemmas for functions when one of the function calls other functions? (here `replace` vs `slowReplace`). I get a crash on this example (from...

We should develop a simple theory of ghost and use it as a blueprint to resolve * relationship between ghost and code erasure (check Agda and proof erasure) * check...

ghost

Choose construct is used internally in Stainless as well as exposed to the user. However, soundness of `choose` depends on the conjunction of the type and the predicate being non-empty....

feature

Tail recursive functions are easier to specify and verify in Stainless, which is why they are written so. Genc emits them as recursive functions. gcc can optimize them, but not...

feature
genc

This code crashes with `--genc` option in 0.9.2-scala3 (both front ends): ```scala import stainless.annotation.cCode object Main { @cCode.`export` type Pixel = Int @cCode.`export` def test(x: Pixel): Unit = { val...

bug
genc

Right now **sbt plugin** allows stainless to run stainless files through the subsequent phases and generate code. However, it appears that this functionality is **not available from command line**. There...

feature

https://github.com/epfl-lara/stainless/blob/aa48894c6e4bf4b3eec7e9f3f26d76754c4d0f63/frontends/library/stainless/math/BitVectors.scala#L10

feature

Since we've added checks to arguments aliasing https://github.com/epfl-lara/stainless/pull/965, the stainless actors fails because of aliasing here: https://github.com/epfl-lara/stainless-actors/blob/8173788e75880fa04d004cd8443ed0ef70b1cd83/examples/kvs/src/main/scala/KVS.scala#L67 There is aliasing between `ctx.self` and the implicit parameter `ctx` being passed to...

imperative
aliasing