You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Set paths-symex-explore-all when unwinding-assertions defaults to true
When unwinding-assertions is enabled by default (via
set_default_analysis_flags), paths-symex-explore-all must also be
enabled. Otherwise, the single-path symex checker's
has_finished_exploration check can return true before any path is
explored, because dynamically generated properties (like 'no body for
callee') don't exist in the initial properties map.
The explicit --unwinding-assertions flag already set
paths-symex-explore-all (line 192), but the default enablement path
did not, causing --paths lifo to miss no-body assertions.
Also fix two pre-existing bugs exposed by the exploration fix:
- --outfile with an invalid path was silently ignored in --paths mode
because the solver (and thus the file) was never created when all VCCs
were simplified away. Add early outfile validation.
- --sat-solver with an invalid name was silently ignored for the same
reason. Add early solver name validation in parse_sat_options.
Five tests previously tagged paths-lifo-expected-failure now pass
with --paths lifo, so remove the tag from those.
Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>
0 commit comments