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
Introduce shared taint tracking library #13881
base: main
Are you sure you want to change the base?
Conversation
|
A few stylistic comments, otherwise mostly LGTM. |
| private import DataFlowMake<DataFlowLang> as DataFlow | ||
| private import MakeImpl<DataFlowLang> as DataFlowInternal | ||
|
|
||
| private module AddTaintDefaults<DataFlowInternal::FullStateConfigSig Config> implements |
Check warning
Code scanning / CodeQL
Data flow configuration module naming Warning
| * Constructs a global taint tracking computation. | ||
| */ | ||
| module Global<DataFlow::ConfigSig Config> implements DataFlow::GlobalFlowSig { | ||
| private module Config0 implements DataFlowInternal::FullStateConfigSig { |
Check warning
Code scanning / CodeQL
Data flow configuration module naming Warning
| import Config | ||
| } | ||
|
|
||
| private module C implements DataFlowInternal::FullStateConfigSig { |
Check warning
Code scanning / CodeQL
Data flow configuration module naming Warning
| * Constructs a global taint tracking computation using flow state. | ||
| */ | ||
| module GlobalWithState<DataFlow::StateConfigSig Config> implements DataFlow::GlobalFlowSig { | ||
| private module Config0 implements DataFlowInternal::FullStateConfigSig { |
Check warning
Code scanning / CodeQL
Data flow configuration module naming Warning
| import Config | ||
| } | ||
|
|
||
| private module C implements DataFlowInternal::FullStateConfigSig { |
Check warning
Code scanning / CodeQL
Data flow configuration module naming Warning
|
LGTM now. Although, preferably we'll switch all languages in one go, so we don't have a mix of shared lib usage and parameterised modules. |
That is the plan (as part of this PR). I only did C++ first, because I wanted to know if the approach was good. |
|
Beware that you have an incoming merge conflict in #13851 |
I'll rebase this PR and then kick off all the DCAs. |
9f12a4e
to
c4a65e5
Compare
|
I sightly refactored this to follow #13901 |
|
@aschackmull I'm slightly confused by the DCA results. I see OOMs in Java (which seem to be sort of expected), C# and C++. I tried the C++ and C# OOM'ing projects on larger runners to see if there are any suspicious tuple counts stage timings. I see slightly slower stage timings, in a few cases but nothing really jumps out to me. |
No description provided.