Manu Sridharan

Results 671 comments of Manu Sridharan

Tried to debug this a bit. Consider this function: ```javascript function n() { try { return; } finally { m(); } } ``` Here the bug appears, and we do...

The Java frontend uses an `UNWIND` statement to handle `try/finally`: https://github.com/wala/WALA/blob/338201dc142e081e080669c198e107e48ed75b5e/com.ibm.wala.cast.java.ecj/src/main/java/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java#L3568-L3579 Not sure if JavaScript could do something similar.

My WIP branch attempting to fix this bug is here: https://github.com/msridhar/WALA/tree/try-finally-bug-fix Unfortunately I couldn't get it to fully work. I changed `RhinoToAstTranslator` to use `UNWIND` for try statements, and I'm...

Thanks @mattkindy-praetorian! Do you want to open a PR with your fix?

I agree the behavior is inconsistent with Java subtyping rules. It does seem based on the `yuck` here that this was deliberate: https://github.com/wala/WALA/blob/fac89b228f101eb5367cdda29b4d432af52c999d/com.ibm.wala.core/src/com/ibm/wala/classLoader/ArrayClass.java#L129-L134 I don't really know why it was...

Which call graph building code are you using? There is a regression test ensuring that `reachable` is in the call graph for the pointer-analysis-based call graph builder (see [here](https://github.com/wala/WALA/blob/master/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java#L608)).

Yikes! @juliandolby we are supposed to handle `for-in` and prototype chains correctly, right?

Julian and I are both traveling, but we'll take a closer look at this soon. --Manu

@michaelheilmann neither Julian nor I have ready access to a Windows 8 (virtual) machine with WALA set up, so we likely won't get to this one soon. If the dynamic...

Yup, I haven't dug into this particular issue yet, but in my past experience this kind of thing was almost always an issue with having too little sensitivity around some...