When array operations such as map and filter are invoked, computing subsequent effects must take into account aliasing created by the operations. The current primitives for objects with widened properties support tracking this aliasing, but two things are missing:
Modeling objects created inside of the loop. #2543 and related work should address this.
A numerically indexed property might be empty. Perhaps abstract concrete unions can model this indirection
When array operations such as
map
andfilter
are invoked, computing subsequent effects must take into account aliasing created by the operations. The current primitives for objects with widened properties support tracking this aliasing, but two things are missing: