secure-software-engineering / phasar

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

Simplify Analysis Construction #572

Closed fabianbs96 closed 1 year ago

fabianbs96 commented 1 year ago

With the Reorder Analysis Dependencies PR the implementations of the IFDS and IDETabulationProblem now have different constructor requirements regarding which helper analyses they need. With the introduction of the HelperAnalyses type, analysis construction can be simplified again. However, we don't want to force users to add another construction to their analysis problem description taking a HelperAnalyses& as parameter.

This PR thus adds a factory function createAnalysisProblem that statically determines, which helper analyses are needed and automatically invokes the right ctor. This factory function has been integrated into all unittests and the AnalysisController