InteractionLog is a plugin for the graphical user interface in KeY. It helps you to understand your steps during the proof, to gather statistical information and to create proof script for automating your interactions. to achieve this, InteractionLog hooks into KeY to record interactions triggered by the user. The recorded logbooks including the information to redo these actions can be stored as JSON files. Redos are not limited on the original proofs, you can open a logbook and also apply the stored interactions on different proofs.
As a KeY developer, you can also add InteractionLog into your KeY build
as a dependency in build.gradle. Just add the following lines to key.ui/build.gradle:
dependencies {
//...
runtimeOnly("io.github.wadoon.key:key-interactionlog:1.0.0")
}If you prefer a SNAPSHOT version use the following setup:
repositories {
maven { url = uri("https://central.sonatype.com/repository/maven-snapshots")}
}
dependencies {
//...
runtimeOnly("io.github.wadoon.key:key-interactionlog:1.1.0-SNAPSHOT")
}
Receive the key-interactionlog and its dependencies by download from maven central. A download script is provided (download.sh).
Use:
$ curl https://raw.githubusercontent.com/wadoon/key-interactionlog/refs/heads/main/download.sh | shor download the Jar files provided as a Zip file: key-interactionlog-1.0.0.zip
Start KeY by supplying the downloaded Jar files:
$ export INTERACTIONLOG=key-interactionlog-1.0.0
$ java -cp key-2.12.4-dev-exe.jar:$INTERACTIONLOG/* de.uka.ilkd.key.core.Main
using the download folder $INTERACTIONLOG and the shadow Jar of KeY (key-2.12.4-dev-exe.jar).
Interaction Log should be automatically loaded on start up. A log is created for each loaded proof.
Note, Interaction Log is now compiled against KeY 2.12.4-dev. KeY's ABI/API is unstable, so please use the current main or SNAPSHOT version of KeY. Therefore, key-interactionlog is not useable with KeY 2.12.3 and below.
- Version: 1.0.0 (released: 2025-08-25)
- The plugin was migrated to this repository to make it finally freely available.
- Compiled against KEY-2.12.4-dev (current development version).
... work in progress ...
- Remove SNAPSHOT from version number
- Update
README.md - Create new commit and tag.
gradle makeDownloadScriptbash download.sh && zip -r key-interaction-version.zip key-interaction-versiongradle publishToCentral closeAndReleaseCentralStagingRepository- Create new GitHub release, upload
key-interaction-version.zip - Set version++, re-add to
SNAPSHOTand commit.
