SPARK: Static Program Analysis Reasoning and Retrieving Knowledge