secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
919 stars 140 forks source link

EF SemiRing in Problem #722

Open fabianbs96 opened 2 months ago

fabianbs96 commented 2 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 1 month ago

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