Skip to content

Modularity for Proof Strategies#3650

Queued
Drodt wants to merge 71 commits intomainfrom
modular-features
Queued

Modularity for Proof Strategies#3650
Drodt wants to merge 71 commits intomainfrom
modular-features

Conversation

@Drodt
Copy link
Member

@Drodt Drodt commented Aug 13, 2025

Intended Change

Part of the modularization effort.

Splits the JavaCardDLStrategy into multiple different strategies, responsible for smaller sets of rule sets.

  • The FOLStrategy handles basic logic parts, such as propositional rules and quantifier instantiation
  • The JFOLStrategy is more tuned to JFOL, including heap and integer logic (for quantification)
  • The IntegerStrategy handles integers
  • The SymExStrategy handles symbolic execution
  • The StringFactory handles strings
  • JavaCardDLStrategy handles "the rest"

All are composed by the ModularJavaDLStrategy.

Plan

  • Documentation
  • Performance tests
  • Clean up

Type of pull request

  • Refactoring (behaviour should not change or only minimally change)
  • New feature (non-breaking change which adds functionality)
  • There are changes to the (Java) code
  • There are changes to the taclet rule base

Ensuring quality

  • I made sure that introduced/changed code is well documented (javadoc and inline comments).
  • I made sure that new/changed end-user features are well documented (https://github.com/KeYProject/key-docs).
  • I added new test case(s) for new functionality.
  • I have tested the feature as follows: ...
  • I have checked that runtime performance has not deteriorated.
  • For new Gradle modules: I added the Gradle module to the test matrix in
    .github/workflows/tests.yml

Additional information and contact(s)

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

Drodt and others added 30 commits August 13, 2025 09:38
uniform treatment of checkVarCondNotFreeIn
…learer in the iterative one) and nullness annotations
@wadoon wadoon added this to the v2.13.0 milestone Nov 21, 2025
@Drodt Drodt modified the milestones: v2.13.0, v3.0.0 Jan 7, 2026
@unp1 unp1 mentioned this pull request Feb 12, 2026
1 task
@Drodt Drodt marked this pull request as ready for review February 12, 2026 15:51
@wadoon wadoon self-requested a review March 13, 2026 14:25
@wadoon wadoon changed the title Modular Features Modularity for Proof Strategies Mar 19, 2026
@wadoon wadoon added this pull request to the merge queue Mar 19, 2026
Any commits made after this event will not be merged.
@wadoon wadoon removed this pull request from the merge queue due to a manual request Mar 19, 2026
@wadoon wadoon enabled auto-merge March 19, 2026 08:37
@wadoon wadoon added this pull request to the merge queue Mar 19, 2026
Any commits made after this event will not be merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🛠 Maintenance Code quality and related things w/o functional changes Prover Core Strategy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants