-
Notifications
You must be signed in to change notification settings - Fork 76
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
Traces article implementation #183
Conversation
…e precise than old and mine
This breaks 13/19 and 28/10.
Previously sigint just printed solver stats and left running.
Reflects the fact that side effecting of global inits is disabled better.
In general, I'm very surprised by how modular the different privatisations turned out, that is a very nice touch! |
Doesn't make sense for new privatizations, moved into old privatizations.
Sorry, about the mess, I clicked on |
Is there still anything blocking us from merging? |
Not from my side, so I suppose I'll do the merge? Since nobody else would probably try or review this branch anyway, we won't find out about possible regressions until it's on |
I'm opening this humongous draft pull request already now to have a place for keeping some notes on all the changes
traces
branch contains, including many general improvements etc.Eventually these would get merged into
master
.Overview of changes
exp.privatization
option.protection-read
akaProtectionBasedPriv
with additional readable lockset check aka Protection-Based Reading with additional readable lockset check. The additional check is necessary to handle many of our regression tests.// TODO
comments to be useful with regression testing script.base.ml
tobasePriv.ml
.base
analysis local domain has third privatization-dependent component (by @vesalvojdani).base
analysis global domain is privatization-dependent.reason
argument tosync
transfer function to allow analyses choose if they want to do computations at every node, or only at some necessary places (like join).mutex
analysis.mutex
analysis (by @vesalvojdani).ctx.emit
andevent
transfer function) for deduplicating thread creation, lock, unlock and escape logic in different analyses.MCPSpec
for analyses insideMCP
.ctx.split
's explicit branch arguments with arbitrary events.privPrecCompare
.read_global
results viaexp.priv-prec-dump
option.exp.earlyglobs
already during global initialization.Control
earlier to allowenter_with
andotherstate
to alsosideg
(issue Move extern inits, global inits and otherfuns spawning into constraint system #178).sem
(semantics) category of options for configuring what unknown functions etc may and may not do.Deadcode
behavior ofinvariant
on binary operators.AfterConfig
module for running initialization things after config has been loaded.RichVarinfo
module for abusingvarinfo
s to represent richer data, particularly as global constraint variables.Things broken
protection-vesal
for them now, butold
passes as well.MapDomain
interface changes from Optimize large CPAs #164. Domain tests fail forHoareMap
.