Skip to content

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
  • More strategies?
  • Move up to ncore

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
@Drodt Drodt added Prover Core Strategy 🛠 Maintenance Code quality and related things w/o functional changes labels Aug 13, 2025
@wadoon wadoon added this to the v2.13.0 milestone Nov 21, 2025
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