codeql icon indicating copy to clipboard operation
codeql copied to clipboard

Java: Replace the MaD Object.clone() models with a non-aliasing value step.

Open aschackmull opened this issue 1 year ago • 2 comments

Switching data flow stage 3 to path-insensitive type pruning flow highlighted that the MaD clone models were providing false type information in the sense that they claim to be able to store into Element, MapKey, and MapValue for any type. This is misleading to path-insensitive type pruning. With the introduction of support for non-aliasing value steps in the data flow library, we can model clone steps as value steps instead without accidental back-propagation of side-effects. Local + MRVA top 100 checking showed only small changes in tuple counts, although a number of FPs were fixed on apache/hadoop for one query.

aschackmull avatar Jun 25 '24 13:06 aschackmull

:warning: The head of this PR and the base branch were compared for differences in the framework coverage reports. The generated reports are available in the artifacts of this workflow run. The differences will be picked up by the nightly job after the PR gets merged.

Click to show differences in coverage

java

Generated file changes for java

  • Changes to framework-coverage-java.rst:
-    Java Standard Library,``java.*``,10,4267,255,95,,9,,,26
+    Java Standard Library,``java.*``,10,4264,255,95,,9,,,26
-    Totals,,310,25138,2598,367,16,128,33,1,409
+    Totals,,310,25135,2598,367,16,128,33,1,409
  • Changes to framework-coverage-java.csv:
- java.lang,38,3,759,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,3,,,681,78
+ java.lang,38,3,756,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,3,,,681,75

github-actions[bot] avatar Jun 25 '24 13:06 github-actions[bot]

Most of the test failures are model numbering changes, but not all.

owen-mc avatar Jun 25 '24 14:06 owen-mc