Skip to content

Conversation

@michael-schwarz
Copy link
Member

@DrMichaelPetter: This is what I had in mind as a config of last resort, i.e., a concrete interpreter. It is enabled by making base path-sensitive (which had no effect up-to-now).

I had another idea where we only track the set of taken branches which hopefully has better termination behavior (I'll try to vibe-code it tomorrow), but this is still a reasonable thing to do once everything else has failed.

@michael-schwarz michael-schwarz added feature sv-comp SV-COMP (analyses, results), witnesses precision labels Jul 29, 2025
@sim642
Copy link
Member

sim642 commented Jul 29, 2025

I had another idea where we only track the set of taken branches which hopefully has better termination behavior (I'll try to vibe-code it tomorrow), but this is still a reasonable thing to do once everything else has failed.

Which is essentially trace abstraction. One could build a variety of configurable versions of it, e.g. a sequence of last k branches, not a set.
I think Mopsa also has something like that now.

@sim642 sim642 added this to the SV-COMP 2026 milestone Jul 30, 2025
@michael-schwarz michael-schwarz merged commit 3af3bef into master Jul 30, 2025
19 checks passed
@michael-schwarz michael-schwarz deleted the base_path_sens branch July 30, 2025 08:25
@DrMichaelPetter
Copy link
Collaborator

This gives 159 new verdicts on former unknown verdicts in a 300sec svcomp benchmark run with only def_exc and intervals enabled.

sim642 added a commit to sim642/opam-repository that referenced this pull request Sep 5, 2025
CHANGES:

* Add division by zero analysis (goblint/analyzer#1764).
* Add bitfield domain (goblint/analyzer#1623).
* Add weakly-relational C-2PO pointer analysis (goblint/analyzer#1485).
* Add widening delay (goblint/analyzer#1358, goblint/analyzer#1442, goblint/analyzer#1483).
* Add narrowing of globals to top-down solver (goblint/analyzer#1636).
* Add weak dependencies to top-down solver (goblint/analyzer#1746, goblint/analyzer#1747).
* Add YAML ghost witness generation (goblint/analyzer#1394).
* Remove GraphML witness generation (goblint/analyzer#1732, goblint/analyzer#1733, goblint/analyzer#1738).
* Use C standard option for preprocessing (goblint/analyzer#1807).
* Add bash completion for array options (goblint/analyzer#1670, goblint/analyzer#1705, goblint/analyzer#1750).
* Make `malloc(0)` semantics configurable (goblint/analyzer#1418, goblint/analyzer#1777).
* Update path-sensitive analyses (goblint/analyzer#1785, goblint/analyzer#1791, goblint/analyzer#1792).
* Fix evaluation of library function arguments (goblint/analyzer#1758, goblint/analyzer#1761).
* Optimize affine equalities analysis using sparse matrices (goblint/analyzer#1459, goblint/analyzer#1625).
* Prepare for parallelism (goblint/analyzer#1708, goblint/analyzer#1744, goblint/analyzer#1748, goblint/analyzer#1781, goblint/analyzer#1790).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature precision sv-comp SV-COMP (analyses, results), witnesses

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants