analyzer icon indicating copy to clipboard operation
analyzer copied to clipboard

Type-safe global query system

Open sim642 opened this issue 4 months ago • 3 comments

Queries like WarnGlobal and InvariantGlobal are only used globally in dummy ctx. Moreover, they have Obj.t arguments which are unsafe. Every analysis lifter which adds its own global unknowns must have special cases for converting such arguments for WarnGlobal and InvariantGlobal. If that is forgotten, then Goblint simply segfaults.

This PR introduces global queries using a separate global_query "transfer" function and gctx global "context" for the queries, which doesn't require all the dummy data.

TODO

  • [x] Convert InvariantGlobal query.
  • [ ] Add documentation.
  • [ ] Use this for #1394.

sim642 avatar Apr 22 '24 09:04 sim642