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

Remove pervasive use of OnlineSolver constraints in stubs #28

Open
RyanGlScott opened this issue Jan 17, 2024 · 1 comment
Open

Remove pervasive use of OnlineSolver constraints in stubs #28

RyanGlScott opened this issue Jan 17, 2024 · 1 comment
Labels
tech-debt Technical debt

Comments

@RyanGlScott
Copy link
Collaborator

Many parts of the stubs code base require OnlineSolver constraints, which are necessary to communicate with an online SMT solver connection. One example of this is the functionOverride function:

, functionOverride
:: forall bak solver scope st fs
. ( LCB.IsSymBackend sym bak
, sym ~ WE.ExprBuilder scope st fs
, bak ~ LCBO.OnlineBackend solver scope st fs
, WPO.OnlineSolver solver
)

I suspect that this is an artifact of the code in ambient-verifier, which defined several overrides which require an online solver. That being said, it's unclear to me if we actually need to percolate OnlineSolver constraints everywhere in stubs. Ideally, stubs would be written in a way that is SMT connection–agnostic so that it can work for both offline and online solvers alike. This issue tracks the task of refactoring stubs to make this possible.

@RyanGlScott RyanGlScott added the tech-debt Technical debt label Jan 17, 2024
@RyanGlScott
Copy link
Collaborator Author

Similar concerns apply to Stubs.Syscall.syscallOverride.

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

No branches or pull requests

1 participant