Ekeko is a Clojure library for answering questions about and transforming Java programs. Among others, the library has been used extensively to find and automatically patch all occurrences of certain bugs. For such applications, Ekeko enables embedding logic queries in functional expressions. While the former have proven themselves for locating snippets of code in large programs, the latter lend themselves to computing statistics about, visualizing and transforming the located snippets.
See our tool demonstration paper [1] for more details. In addition, the wiki lists examples of logic queries supported by Ekeko. See the API reference for an overview of all relations and functions that are included.
See https://github.com/cderoove/damp.ekeko/tree/master/EkekoPlugin for download instructions.