Explore a cutting-edge approach to Datalog compilation for program analysis in this 19-minute conference talk from POPL 2024. Discover Flan, an innovative Datalog compiler embedded in Scala that combines expressiveness and high performance. Learn how Flan leverages multi-stage programming to generate specialized code, offering seamless integration with the host language and powerful extensions. Understand the system's ability to support various features, including arbitrary aggregates, user-defined functions, and lattices, with multiple execution strategies. Examine the evaluation results comparing Flan to established Datalog engines, showcasing competitive performance and significant speedups in practical workloads. Gain insights into how this approach reconciles the competing demands of flexibility and efficiency in program analysis tools.
Overview
Syllabus
[POPL'24] Flan: An Expressive and Efficient Datalog Compiler for Program Analysis
Taught by
ACM SIGPLAN