Skip to content

Fix non-determinism source in park bases and reworked AI generated comments - #3995

Merged
unp1 merged 3 commits into
mainfrom
bubel/fix-nondet-parkbases
Oct 19, 2026
Merged

unp1 merged 3 commits into
mainfrom
bubel/fix-nondet-parkbases

Conversation

@unp1

@unp1 unp1 commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

First part of a series to rework the AI generated comments from the June/July stint.

Fixes:

  • more human understandable comments (at least I hope so) in class ParkBases
  • fixes a lingering non-determinism issue in park bases that could cause different proofs in different runs

The non-determinism was in the use of hashcode to decide which parked applications to park. As some
parts of the hashcode use identity hashes, collissions could differ from run to run and produce different
proofs (as far as I know that was not observed in any of our runs). This PR fixes it by storing the whole term
and using its hashcode only for a quick pre check before testing it via "equalsModRenaming".

Type of pull request

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

Ensuring quality

  • I made sure that introduced/changed code is well documented (javadoc and inline comments).
  • I have tested the feature as follows: Run RAP several times (SC and MT) with parking and non-parking enabled
    to ensure that no taclet app that should be woken is discarded.

Additional information and contact(s)

The contributions within this pull request are licensed under GPLv2, or (at your option) any later version, for inclusion in KeY.

@unp1 unp1 self-assigned this Oct 19, 2026
@unp1 unp1 added Documentation Improvements or additions to documentation 🐞 Bug labels Oct 19, 2026
@unp1 unp1 added this to the v3.1.0 milestone Oct 19, 2026
@wadoon
wadoon self-requested a review October 19, 2026 11:22
Comment thread key.core/src/main/java/de/uka/ilkd/key/logic/equality/RenamingTermProperty.java Outdated
Comment thread key.core/src/main/java/de/uka/ilkd/key/strategy/ParkedBases.java
Comment thread key.core/src/main/java/de/uka/ilkd/key/strategy/ParkedBases.java
unp1 added 2 commits October 19, 2026 14:50
…s (additional hardening against non-determinism, but the fix in ParkBases solves that independently of existience of collissions)
@unp1
unp1 force-pushed the bubel/fix-nondet-parkbases branch from b91bb95 to fc657ca Compare October 19, 2026 12:50
@unp1
unp1 force-pushed the bubel/fix-nondet-parkbases branch from fc657ca to acf8811 Compare October 19, 2026 13:24
@unp1
unp1 enabled auto-merge October 19, 2026 13:24
@unp1
unp1 added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 2f06238 Oct 19, 2026
39 checks passed
@unp1
unp1 deleted the bubel/fix-nondet-parkbases branch October 19, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation 🐞 Bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants