Skip to content

Fix pruning of cached branches#3858

Merged
WolframPfeifer merged 4 commits into
KeYProject:mainfrom
FliegendeWurst:cachingFixes
Jul 10, 2026
Merged

Fix pruning of cached branches#3858
WolframPfeifer merged 4 commits into
KeYProject:mainfrom
FliegendeWurst:cachingFixes

Conversation

@FliegendeWurst

Copy link
Copy Markdown
Member

Related Issue

This pull request resolves #3846.

Intended Change

Two bugfixes

  1. Fix proof caching info window to be centered (tested on Linux). Is now centered with the same method as other KeY windows.
  2. Fix pruning of cached branches.

The second part is done almost exactly like in #3440. I tested both the minimal prune (prune directly at the cached node), and a larger (multi-branch) prune.
I added a refreshGoal call, in case it helps.

Type of pull request

  • Bug fix (non-breaking change which fixes an issue)
  • There are changes to the (Java) code

Ensuring quality

  • I made sure that introduced/changed code is well documented (javadoc and inline comments).
  • I have tested the feature as follows: manually

Additional information and contact(s)

The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.

@WolframPfeifer WolframPfeifer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The call to refreshGoal() indeed seems to have the desired effect, and in my manual tests the pruning seems to work as expected. Thanks!

One thing that I noticed: If you prune a goal closed via cache directly, and then open and close the "Proof Caching" dialog from the status bar, it is closed directly again. Apparently closing the dialog triggers a cache check. I don't think this behavior is a problem, just a little bit unexpected maybe, and would keep it like this for now.

@WolframPfeifer

Copy link
Copy Markdown
Member

Weird: In the test cases, the list of open goals again has a null entry.

@WolframPfeifer

Copy link
Copy Markdown
Member

@FliegendeWurst The newly implemented functionality for pruning is inconsistent with the test in line 79-81 of TestReferenceSearcher. Could you have a look?

Comment thread key.core/src/main/java/de/uka/ilkd/key/proof/ProofPruner.java
On Linux (KDE, Wayland) setLocationByPlatform does not work properly.
The window is positioned in the top-left corner instead of center.
@FliegendeWurst FliegendeWurst force-pushed the cachingFixes branch 2 times, most recently from 483fd83 to 4448f7a Compare July 7, 2026 21:11
@WolframPfeifer WolframPfeifer added this to the v3.0.0 milestone Jul 9, 2026
@WolframPfeifer WolframPfeifer self-assigned this Jul 9, 2026
@WolframPfeifer WolframPfeifer enabled auto-merge July 10, 2026 10:18
@WolframPfeifer WolframPfeifer added this pull request to the merge queue Jul 10, 2026
Merged via the queue into KeYProject:main with commit 75f0a04 Jul 10, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix Interaction of Proof Caching and Pruning

3 participants