secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
942 stars 142 forks source link

EF SemiRing in Problem #722

Closed fabianbs96 closed 3 months ago

fabianbs96 commented 6 months ago

Edge functions model a bounded idempotent semi-ring. Thereby, the extend-operation is represented as composeWith and the combine-operation as joinWith. The fixed interface of these functions makes handling dependent resources hard, especially caching edge functions.

This PR creates the option to implement extend and combine on the IDETabulationProblem instead, making it easy to access members of the problem instance. The PR also applies this concept to the inst-interation analysis, to show how EF caching can look like.

fabianbs96 commented 6 months ago

Small update: I have run the IIA on some smaller coreutils and at least there I could not detect any performance impact