Open lks9 opened 1 month ago
Replaces #3491
This pull request addresses #.
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:
I already had a previous approach using JML assume, see https://github.com/lks9/retroACexampleKeY/
The current implementation uses new taclet rules traceIf, traceIfElse.
traceAfter()
traceBefore()
traced()
TODO:
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.
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
traceAfter()
,traceBefore()
andtraced()
predicates)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.