DocumentCode :
251915
Title :
Building development tools interactively using the EKEKO meta-programming library
Author :
De Roover, Coen ; Stevens, R.
Author_Institution :
Software Languages Lab., Vrije Univ., Brussels, Belgium
fYear :
2014
fDate :
3-6 Feb. 2014
Firstpage :
429
Lastpage :
433
Abstract :
EKEKO is a Clojure library for applicative logic meta-programming against an Eclipse workspace. EKEKO has been applied successfully to answering program queries (e.g., “does this bug pattern occur in my code?”), to analyzing project corpora (e.g., “how often does this API usage pattern occur in this corpus?”), and to transforming programs (e.g., “change occurrences of this pattern as follows”) in a declarative manner. These applications rely on a seamless embedding of logic queries in applicative expressions. While the former identify source code of interest, the latter associate error markers with, compute statistics about, or rewrite the identified source code snippets. In this paper, we detail the logic and applicative aspects of the EKEKO library. We also highlight key choices in their implementation. In particular, we demonstrate how a causal connection with the Eclipse infrastructure enables building development tools interactively on the Clojure read-eval-print loop.
Keywords :
application program interfaces; logic programming; program control structures; program debugging; query processing; software libraries; source code (software); API usage pattern; Clojure library; Clojure read-eval-print loop; EKEKO metaprogramming library; Eclipse infrastructure; Eclipse workspace; applicative logic metaprogramming; building development tools; error markers; logic queries; program query answering; program transformation; project corpora analysis; source code snippet identification; Buildings; Computational modeling; Java; Libraries; Logic programming; Vectors; Visualization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
Conference_Location :
Antwerp
Type :
conf
DOI :
10.1109/CSMR-WCRE.2014.6747211
Filename :
6747211
Link To Document :
بازگشت