KeYProject / key

KeY Theorem Prover for Deductive Java Verification
https://key-project.org
Other
41 stars 24 forks source link

Tracing2 #3504

Open lks9 opened 1 month ago

lks9 commented 1 month ago

Replaces #3491

Related Issue

This pull request addresses #.

Intended Change

This adds functionality to check a single control-flow trace in KeY, so only one path in the symbolic execution path.

The idea is to record the control flow while running normally. And then we use the recorded path as a precondition for any proof obligation.

For experimenting and debugging method contracts and similar, this might be very useful:

Backgound

I already had a previous approach using JML assume, see https://github.com/lks9/retroACexampleKeY/

The current implementation uses new taclet rules traceIf, traceIfElse.

Plan

Type of pull request

Ensuring quality

TODO:

Additional information and contact(s)

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