Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linearized symbolic execution in proof tree #3237

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

FliegendeWurst
Copy link
Member

@FliegendeWurst FliegendeWurst commented Aug 3, 2023

This PR adds a new option to the proof tree to "linearize symbolic execution".
This option changes the proof tree to be slightly more linear. In effect, the "Normal Execution" branch will (visually) continue on the parent branch. See the screenshots below for what the new view filter looks like.

linearTree3

previous now
linearTree1 linearTree2

cut_direct applications are also linearized:
image

@FliegendeWurst FliegendeWurst added GUI Review Request Waiting for review Feature New feature or request labels Aug 3, 2023
@codecov
Copy link

codecov bot commented Aug 3, 2023

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (9634682) 37.94% compared to head (4f1acae) 37.91%.

Files Patch % Lines
...e/uka/ilkd/key/nparser/builder/TacletPBuilder.java 83.33% 1 Missing ⚠️
...lkd/key/rule/tacletbuilder/TacletGoalTemplate.java 75.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3237      +/-   ##
============================================
- Coverage     37.94%   37.91%   -0.03%     
+ Complexity    17036    17029       -7     
============================================
  Files          2060     2060              
  Lines        126284   126292       +8     
  Branches      21303    21304       +1     
============================================
- Hits          47914    47889      -25     
- Misses        72486    72517      +31     
- Partials       5884     5886       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@github-actions
Copy link

github-actions bot commented Aug 3, 2023

Thank you for your contribution.

The test artifacts are available on Artiweb.
The newest artifact is here.

@FliegendeWurst FliegendeWurst changed the title Linearized proof tree Linearized symbolic execution in proof tree Aug 3, 2023
@mattulbrich
Copy link
Member

How is determined which is the "main" branch and which are the "side" branches. For a cut, e.g., both should be side branches. I like this option (we have done it like this in ivil and a bit in dive), and would favour to see it on the main branch.

@FliegendeWurst
Copy link
Member Author

How is determined which is the "main" branch and which are the "side" branches.

Currently only the "Normal Execution [...]" branch is considered the main branch.

@FliegendeWurst FliegendeWurst removed the Review Request Waiting for review label Sep 21, 2023
Still has some bugs, e.g. hide interactive + interactive main branch
does not work correctly...
@FliegendeWurst FliegendeWurst marked this pull request as draft September 21, 2023 08:07
@FliegendeWurst
Copy link
Member Author

The implementation has been updated to also consider e.g. the TRUE branch of cut_direct as the main branch:
image

This is achieved using a new goal template tagging mechanism.

@FliegendeWurst FliegendeWurst marked this pull request as ready for review October 24, 2023 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or request GUI Review Request Waiting for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants