Software Languages Lab
Published on Software Languages Lab (http://soft.vub.ac.be/soft)

Home > Ekeko

Ekeko

Groups audience: 
CAMP [1]
Logo Image: 
Promoted to Artifact Page: 
Yes
Keywords: 
meta-programming library
program analysis
program transformation
Description
Description: 

Ekeko [2] 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 [2] 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 [3] supported by Ekeko. See the API reference [4] for an overview of all relations and functions that are included. 


References

  1. De Roover, C., and R. Stevens [5], "Building Development Tools Interactively using the Ekeko Meta-Programming Library [6]", Proceedings of the IEEE CSMR-WCRE 2014 Software Evolution Week, Tool Demo Track (CSMR-WCRE14), 2014.
Download: 

See https://github.com/cderoove/damp.ekeko/tree/master/EkekoPlugin [2] for download instructions. 


Source URL: http://soft.vub.ac.be/soft/content/ekeko

Links
[1] http://soft.vub.ac.be/soft/camp
[2] https://github.com/cderoove/damp.ekeko/tree/master/EkekoPlugin
[3] https://github.com/cderoove/damp.ekeko/wiki/Example-Ekeko-Queries
[4] http://cderoove.github.io/damp.ekeko
[5] http://soft.vub.ac.be/soft/members/resteven
[6] http://soft.vub.ac.be/soft/content/building-development-tools-interactively-using-ekeko-meta-programming-library