draperlaboratory / cbat_tools

Program analysis tools developed at Draper on the CBAT project.
MIT License
102 stars 14 forks source link

Multiple Z3 Queries #329

Open philzook58 opened 3 years ago

philzook58 commented 3 years ago

In the case of loop invariants, there are two queries:

  1. verify the loop condition holds at beginning of loop
  2. Verify that given the invariant, the invariant still holds

I think a typical approach is to split these up into separate, perhaps parallel calls to Z3. Currently our approach is to smush them into a single query. There may be other such opportunities for query splitting. This probably would provide performance benefits although nothing is guaranteed.