predicate aware uninitialized analysis