codeql
codeql copied to clipboard
Field-sensitive flow summary generation
This PR makes use of ContentDataFlow to calculate precise flow summaries for C# and Java.
This implementation generates around 900k rows for .NET runtime. Whether this is due to errors or better granularity is unknown. In any case with the number of rows in this order of magnitude compilation of the model-generator test queries exceeds one minute. Furthermore, it is not possible to commit the file and try and run the CI as it exceeds 100MB in size, which is the maximum allowed unless lfs is enabled for the repo.
Pushed a naive implementation where we discard all models where the content accesspath exceeds 1. This narrows the number of produced models for .NET runtime to around 28k.
There are some issues with the new models. As an example, all hand written models for tuples and keyvaluepair is not compatible with the generated models. The handwritten models refer to the propety, where as the generated models refers to the models private backing field (which is in terms of models are synthetic fields).