European Commission logo
English English
CORDIS - EU research results
CORDIS
Content archived on 2024-06-18

Sophisticated Program Analysis, Declaratively

Final Report Summary - SPADE (Sophisticated Program Analysis, Declaratively)

The Spade project develops a next-generation approach to the design and declarative implementation of static program analyses, paving the way for significantly enhances program correctness, performance, and speed of development. Concrete technical achievements include a) a substantially more flexible notion of context-sensitive analysis, which allows context to vary according to introspective observations; b) a flow-sensitive analysis framework that can be used as the basis for dataflow analysis; c) an exploration of adapting analysis logic to multiple languages and paradigms, including C (using the LLVM infrastructure); d) client analyses algorithms expressed modularly over the underlying substrate of points-to analysis.

As a result, the project has significantly advanced the state of the art in static program analysis, along several directions. In addition to conceptual and algorithmic progress, the project has produced significant open-source implementations, available in public repositories. These include the Doop and CClyzer frameworks for analysis of JVM bytecode and LLVM bitcode.