Reevaluation of predicates after branching / assuming predicates. Reorganized code where it started to be unorganized.
Skip precise predicate valuations when improving precision
Do not initialize predicates over locals at call (this would pick up locals from caller, if there was a name clash, rather than callee). Also make isAnonymous detection predicate specific (less predicates picked up). Move some code in front of loops to avoid recomputing them in every iteration (when it is a globally valid information).
A bit more highlevel summary of a few selected methods than the code itself - to be inspected and possibly corrected if proven wrong
extended test
Fix test
Remove code redundancy
renaming
Informative comment
Fix stupid bugs + new test
Account for two different scenarios of assuming valuations (the predicate is tracked anyway, the predicate is only assumed to be true)
Filter predicates before replacing symbols that should effect the filtering + remove a dead code
another test case
Fix tests
An alternative test fix
more test cases
Fixed a bug + test cases
Improve precision of the abstract heap in AALOAD after selecting any of the concrete elements
Use different name for a variable
Model default vector constructor behaviour