Skip to content

Conversation

kroening
Copy link
Member

@kroening kroening commented Dec 22, 2024

This adds a trivial engine selection heuristic, as follows:

  1. First, try 1-induction, which may refute (base case) or prove (step case) the property.

  2. If still unresolved, try BMC with bound 5.

The heuristic is activated when no engine is specified on the command line.

@kroening kroening marked this pull request as ready for review January 3, 2025 13:15
return property_checker_resultt{properties}; // done

// First try 1-induction, word-level
message.status() << "Attempting 1-induction" << messaget::eom;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about inserting one more line of output that tells the user that they haven't specified an engine and thereby triggered heuristic (maybe it should actually be called "default"?) selection?

This adds a trivial engine selection heuristic, as follows:

1) First, try 1-induction, which may refute (base case) or prove (step case)
the property.

2) If still unresolved, try BMC with bound 5.

The heuristic is activated when no engine is specified on the command line.
@kroening kroening merged commit bc38997 into main Jan 3, 2025
9 checks passed
@kroening kroening deleted the engine-heuristic branch January 3, 2025 15:15
Romy15200 pushed a commit to Romy15200/nws that referenced this pull request Aug 19, 2025
EBMC: basic engine selection heuristic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants