Skip to content

Experiment with unassume for mutex analysis #1715

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

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

Conversation

sim642
Copy link
Member

@sim642 sim642 commented Mar 20, 2025

This is a quick proof-of-concept for an idea I had a while ago: unassume for variable protection in mutex analysis.
It is the first example of a non–value-domain unassume operator.

To do so, this also implements the custom protected_by YAML witness entry type from our COOP 2023 talk, including generation and validation.
On test 13/01 it reduces evals 23 → 19, so it conceptually seems to work (even in a trivial case!). But this needs more evaluation to see its potential.

TODO

  • Add (cram?) tests.
  • Experiment on larger (pthread) programs.
  • Add location_mutex entry type as well.

@sim642 sim642 added feature sv-comp SV-COMP (analyses, results), witnesses performance Analysis time, memory usage proof-of-concept labels Mar 20, 2025
@sim642 sim642 self-assigned this Mar 20, 2025
@sim642 sim642 removed their assignment May 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature performance Analysis time, memory usage proof-of-concept sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant