Why - SAlexandru/XCore GitHub Wiki

What does XCore do?

No, it does not write software analyses for you! This is something you will have to continue doing even if you use XCore. However, it will help you organize your tool.

The following figure shows a generic architecture for a software analysis tool. In essence, it has a front-end for user interaction purposes and a back-end used to extract facts that are going to be used during analyses (e.g., a source code parser).

The facts captured by the tool represent a model of the investigated application. At the source code level (i.e., in the tool source code), this model is described in the form of a meta-model. All the concrete analyzes from the tool will use information from the model and will be implemented around the structure of the meta-model.

XCore helps you organize the internals of your tool. You will not have to manually implement the meta-model because XCore will automatically generate it. Additionally, XCore will organize the analyses around the meta-model to enable simple reuse, extensibility and safe usage.