Open mchalupa opened 8 years ago
we have interprocedural edges that make strong updates impossible. For example in this code:
int a; void foo(void) { a = 3; } int main(void) { a = 1; foo(); foo(); test_assert(a == 3); return 0; }
we should keep only the last foo() call and remove the a = 1 and the other foo call, but we keep everything (with both old and new pta analysis)
a = 1
yeah, but that needs better slicing algorithm (now we make all call-sites a dependence for the called function, so when we keep the function, we keep all callsites...)
Subissue of #242
See also #428 .
we have interprocedural edges that make strong updates impossible. For example in this code:
we should keep only the last foo() call and remove the
a = 1
and the other foo call, but we keep everything (with both old and new pta analysis)