phate / jlm

GNU Lesser General Public License v2.1
44 stars 14 forks source link

[Andersen] Add queue for new edges to the worklist, and enable picking worklist policy #490

Closed haved closed 1 month ago

haved commented 1 month ago

This PR fixes a bug in the worklist solver where pointees could be added to GetPointsToSet(node), while the points-to set was being iterated over.

Running the worklist is now divided into two functions, to convert runtime configuration into compile-time configuration through dispatching the corresponding templated version.

With this PR, the only configuration of the worklist solver is the worklist policy.

The default configuration checks an environment variable to be overridden. This is to make development easier, and not because I think environment variables are a good configuration interface :)