You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both the shallow and the symbolic executors are implemented in a continuation monad with a proposition answer type. Sometimes we break this abstraction. To fix this I propose to define a type class interface that gathers the essential operations for both the symbolic and shallow executors and make our current monad an instance of it. The soundness proof of the symbolic executor would then take two related instances etc..
This would also allow us to more easily experiment with other implementations, like for instance a codensity-transformed free monad, which would allow us to generate subtrees only, i.e. for experiments with state-merging etc.
The text was updated successfully, but these errors were encountered:
Both the shallow and the symbolic executors are implemented in a continuation monad with a proposition answer type. Sometimes we break this abstraction. To fix this I propose to define a type class interface that gathers the essential operations for both the symbolic and shallow executors and make our current monad an instance of it. The soundness proof of the symbolic executor would then take two related instances etc..
This would also allow us to more easily experiment with other implementations, like for instance a codensity-transformed free monad, which would allow us to generate subtrees only, i.e. for experiments with state-merging etc.
The text was updated successfully, but these errors were encountered: