Repository navigation
Dataflow: Support alert provenance - #15501
Conversation
6b8c216 to
3f986bd
Compare
3f986bd to
1464560
Compare
f35a98c to
25e2e07
Compare
0bf1d34 to
979e8c9
Compare
05450de to
43a334d
Compare
| * The kind `remote` represents a general remote flow source. | ||
| */ | ||
| extensible predicate sourceModel(string type, string path, string kind); | ||
| extensible predicate sourceModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
| * respectively. | ||
| */ | ||
| extensible predicate summaryModel(string type, string path, string input, string output, string kind); | ||
| extensible predicate summaryModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
| * The kind `remote` represents a general remote flow source. | ||
| */ | ||
| extensible predicate sourceModel(string type, string path, string kind); | ||
| extensible predicate sourceModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
| * respectively. | ||
| */ | ||
| extensible predicate summaryModel(string type, string path, string input, string output, string kind); | ||
| extensible predicate summaryModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
| * The kind `remote` represents a general remote flow source. | ||
| */ | ||
| extensible predicate sourceModel(string type, string path, string kind); | ||
| extensible predicate sourceModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
| * respectively. | ||
| */ | ||
| extensible predicate summaryModel(string type, string path, string input, string output, string kind); | ||
| extensible predicate summaryModel( |
Check warning
Code scanning / CodeQL
Missing QLDoc for parameter
07b4f13 to
0e5b37f
Compare
0a475a3 to
b4e23d9
Compare
I ran into this problem immediately 😂 . Are you by any chance already working on the plan for creating a |
I was just about to start. |
| --- | ||
| category: feature | ||
| --- | ||
| * The `PathGraph` result of a data flow computation has been augmented with model provenance information for each of the flow steps. |
There was a problem hiding this comment.
Is it the case that users who write custom queries and corresponding qltests may have to update their .expected output as a result of this PR? If so, this should be mentioned prominently in the change note to avoid surprises and confusion by users.
Here: #16210 |
This adds support for alert provenance in path problem queries using the data flow library. Plumbing for all languages using models-as-data is added such that the MaD rows contributing to an alert are included in the PathGraph. Provenance from QL-based models is also included and can be adjusted on a language-by-language basis depending on which models are desirable to include in the provenance data - generally we should not include provenance for basic steps such as variable assignments and similar self-evident flow.
Full support for C#, Java, Python, Go, and Ruby.
Swift and C++ don't support MaD yet and hence there's no MaD provenance to propagate, but provenance from QL-based models is supported.
(JS is of course not supported as it doesn't yet use the shared data flow library).
Edit: Notes on the interesting qltest changes: