Static Program Analysis in Datalog

From International Center for Computational Logic

Static Program Analysis in Datalog

Talk by Knut Berling
Abstract: Doop is a framework for Program Analysis of Java code. It utilizes the Datalog engine Souffle to run high-speed analyses on an Intermediate Code Representation. Existing analyses mainly deal with larger-scope Pointer Analysis, but not with local optimization possibilities. In this talk, I focus on the implementation of local static analyses like Constant Folding, Liveness and Available Expressions in Doop. I will give an introduction into the related frameworks, and point out benefits and limitations of Doop and Souffle regarding each analysis. Furthermore I will compare my results to existing tools for static code analysis and give an outlook whether Doop is suitable for local static analysis.

The talk will take place in a hybrid fashion, physically in the APB room 3027, and online through the link:

https://bbb.tu-dresden.de/b/pio-zwt-smp-aus