grimoirelab-graal
grimoirelab-graal copied to clipboard
Refactored Graal Backends using Strategy Pattern
Graal backends face evolution issues. This refactor implements the strategy pattern in the Graal backends to prevent these issues from occurring. These issues were initially pointed out in #89, we introduced our proposed solution in #104, and made a PR earlier for only the CoLic backend in #107.
This PR implements a complete refactor of the Graal backends. Because the commits have to be signed off and we didn't do that during development, this branch has (almost) all changes squashed. To split up the work in chunks, we recommend checking out these PRs: PR CoLic, PR CoVuln, PR CoCom + CoLang, PR Codep + CoQua. We combined the PR for some backends, as some of them use the same analyzers.
Note that the changes in #107 are included in this PR as well (including the CI fix), so if this PR is approved and merged, there's no need to review/merge that one. On top of that, it probably wouldn't do the project much good if only #107 is merged.