Available at https://github.com/plast-lab/doop
Doop is a declarative pointer analysis framework. I developed the initial version of Doop as a postdoctoral researcher with [Prof. Yannis Smaragdakis](https://yanniss.github.io/). The Doop framework uses Datalog, initially with the commercial LogicBlox engine, LogicBlox was was later replaced with the open source [Soufflé](https://souffle-lang.github.io/) implementation of Datalog.
I loved developing Doop and pushing the boundaries of declarative program analysis. The Doop logic very much stretches the capabilities of any Datalog engine out there and is still often used as a benchmark in new research work on Datalog and program analysis.
The original paper on Doop is [Strictly Declarative Specification of Sophisticated Points-to Analyses](https://s3.us-west-2.amazonaws.com/martin.bravenboer.name/docs/oopsla09.pdf) in OOPSLA 2009. At the Doop website you can find many more recent resources and tutorials on how to use it.
Prof. Smaragdakis and his collaborators continued to develop the Doop framework far beyond my initial work. He also started a software analysis company that uses Datalog: [Dedaub](https://dedaub.com/).
As far as I know, there is no public explanation for the inspiration of the name Doop. It is based on the song [Doop by the band Doop](https://www.youtube.com/watch?v=tvLDm8821jQ) from the Netherlands. As you will see, I find it quite amusing to hear about Doop in serious academic talks. It's best if Doop is repeated frequently.