Manu Sridharan
Manu Sridharan
Ok, I added a test for the first issue here (missing edge to `getMessage()`): https://github.com/wala/WALA/pull/1117 I'm not seeing the issue you mentioned for `STRING_ONLY`, @amordahl. Here's what I see in...
I can reproduce the issue using the default package! Weird 🤔 I will update when I've tracked down the root cause.
Ok, I figured out a bit more here. First, WALA's modeling of `Class.forName()` only kicks in when the argument is a String constant _and_ WALA can actually find the class...
> 1. STRING_ONLY missing edges to Class.forName and Class.newInstance in ANTLR. I think we still haven't figured this one out yet, as I was able to construct a test case...
> Have you tried reproducing the bug in the reduced hsqldb.jar I provided? We've managed to automatically reduce that program to ~300 lines of code while still reproducing the example....
Thanks, I still can't repro. My changes are here: https://github.com/msridhar/WALA/tree/hsqldb-reflection You can run `com.ibm.wala.core.tests.callGraph.ReflectionTest#testHSQLDB` and see the call graph output (you'll have to adjust `hsqldb.txt` with the path to your...
Hrm, still not sure what is going on. I modified my test code to be very similar to yours: https://github.com/msridhar/WALA/commit/fa9d6560dd2a50e0030de69491f487971622e727 And I still see those targets in the output: ```...
Hey @amordahl just curious if you found another root cause here? Or if not, can we close out this issue? Let me know if you found other problems.
They are all against the latest master branch. You can test against master by publishing a `SNAPSHOT` build locally (clone WALA and do `./gradlew publishToMavenLocal`) and then depending on WALA...
I would expect only `handleStaticInit` to have a potential impact here. Do you need to set both `handleStaticInit` and `handleZeroLengthArray` to false to have an impact? Or just setting one...