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

Extended quantifiers refactor #56

Closed
wants to merge 79 commits into from

Conversation

zafer-esen
Copy link
Collaborator

  • Refactors whole ghost variable implementation so that new ghost variables can easily be added and initialized.
  • Extended quantifier theory is made abstract, with two concrete subclasses.
  • New instrumentation operator class that largely reflects the definition in the paper.
  • Added product instrumentation operator.

Support for multiple ghost variable ranges is dropped for simplicity.

zafer-esen and others added 30 commits July 18, 2022 15:38
…e case currently not producing the correct result (in MainExtQuans.scala).
…version as dependency when published locally.
…ost variable sets are > 1. Order extended quantifier search space with decreasing number of instrumented clauses.
…(instrumentations are not added to entry clauses), add support for assertion clauses for instrumentations, add assertions for store and select instrumentations.
…tions. Add support for detecting counterexamples in the uninstrumented program.
…e predicates. Instrumentation loop results should be more stable now.
zafer-esen and others added 28 commits November 16, 2023 13:39
  - eldEnv was resulting in an error if there were multiple
    assembly jars were found (happens with version changes).
    Now the latest one is automatically picked and a warning
    is printed.
  - cc-parser and tplspec-parser jars are now added as
    unmanaged jars on compile. This allows them to be
    automatically picked up by IDEs like IntelliJ.
The idea is to declare an InstrumentationOperator rather than
ExtendedQuantifier. InstrumentationOperator closely resembles the
instrumentation operators given in the paper, and abstracts away
from implementation details and CHCs.
ClauseInstrumenter currently does not deal with alien terms.
It also needs to be tested. InstrumentationOperator currently
also supports only a single set of ghost variables.
…st variable adder and initializer, but remaining parts are WIP.
Also adds two examples, one of which uses alien terms.
- Ghost variables were not tracking the right terms - fixed.
- Alien terms are WIP - but split Boolean instrumentation operator
  from the general one encoding max/min/sum (which does not need
  to support alien terms).
A new AbstractExtendedQuantifier theory is added. This simplifies
the code for subclasses. There was also conditional
functionality, which is now split into separate classes.
@zafer-esen zafer-esen closed this Feb 26, 2024
@zafer-esen
Copy link
Collaborator Author

Incorrect repository for this PR, so closing this :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants