Skip to content

Releases: boogie-org/boogie

Boogie

30 Jul 13:38
b5ea010
Compare
Choose a tag to compare
[Civl] Add support for skip async calls (#923)

Co-authored-by: Shaz Qadeer <[email protected]>

Boogie

18 Jul 10:01
eb568e6
Compare
Choose a tag to compare
[Civl] Added explicit gates to atomic actions (#911)

This PR allows gates of atomic actions to be explicitly specified. The
convention is as follows:

var {:layer 0,1} x: int;

yield invariant YieldInv();
invariant ...

atomic action Foo()
requires x > 0; // gate (must be sufficient to prove absence of failures
in atomic action)
requires call YieldInv(); // precondition used only in special
circumstances
{
   assert x != 0;
}

---------

Co-authored-by: Shaz Qadeer <[email protected]>

Boogie

04 Jul 09:20
7b89e1e
Compare
Choose a tag to compare
v3.2.0

Refactoring related to https://github.com/boogie-org/boogie/pull/891 …

Boogie

23 May 08:11
60a1259
Compare
Choose a tag to compare
Remove code that causes memory leaks (#888)

### Changes
- Replace two usages of `ConcurrentBag` with `ConcurrentStack`, which
has a much simpler implementation that has no risk of memory leaks.
ConcurrentBag was causing leaks. More information is here:
https://stackoverflow.com/questions/5353164/possible-memoryleak-in-concurrentbag
- Remove cancellation support from AsyncQueue, since the cancellation
token would gain a reference to the item being dequeued, which a caller
might not expect and which causes a memory leak if the cancellation
token is kept alive.
- Add a 'Clear' method to 'AsyncQueue' to allow cancelling all customers
- Fix a surprising memory leak in `CustomStackSizePoolTaskScheduler`
- Enable using an ExecutionEngine with a custom TaskScheduler

### Testing
- Tested with a profiler that the above changes resolve the issue that
each Boogie program created by Dafny was never garbage collected.

Boogie

23 Apr 17:26
Compare
Choose a tag to compare
v3.1.5

Release version 3.1.5

Boogie

11 Apr 18:23
889cd6b
Compare
Choose a tag to compare
Add missing string interpolation (#865)

The fact that we didn't detect this earlier makes it clear that this
functionality wasn't being tested. Unfortunately, it's not immediately
clear to me how to write a test that would exercise the relevant code.

This should fix #863, even though we don't have tests to confirm that.

Boogie

13 Mar 15:23
5c786ff
Compare
Choose a tag to compare
Fix crash on low rlimit (#859)

Z3 has multiple ways of responding that the resource limit has been
exceeded. In some cases it responds with an error message including
"push canceled". This updates Boogie to handle more of the strange side
cases.

Boogie

07 Mar 22:27
11660fd
Compare
Choose a tag to compare
Reset predecessors before focusing (#856)

There are two calls to `FocusAndSplit` in Boogie. Before one, there was
already a call to `ResetPredecessors`, but not before the other. Now
they both work on an implementation where the `Predecessors` attributes
has been reset.

---------

Co-authored-by: Remy Willems <[email protected]>

Boogie

05 Mar 16:12
732ebe0
Compare
Choose a tag to compare
v3.1.1

Copy split index when cloning split (#854)

Boogie

04 Mar 10:10
d7b1041
Compare
Choose a tag to compare
[Civl] Fixed bug in refinement check for actions (#853)

The refinement check for actions was handling the frame condition
correctly. Now the frame condition is handled in the same manner as the
refinement check for procedures.

Co-authored-by: Shaz Qadeer <[email protected]>