program registration submissions committee lodging portland

JTL - The Java Tools Language

JTL - The Java Tools Language

Research Paper

Tuesday, Oct 24, from 13:30 to 15:00

This paper gives an overview of JTL (the Java Tools Langauge, pronounced "Gee-tel"), a novel langauge for querying Java programs. JTL was designed to serve the development of source code software tools for Java, and for programming langauge extensions. Applications include definition of pointcuts for aspect-oriented programming, fixing type constraints for generic programming, specification of encapsulation policies, definition of micro-patterns, etc. We argue that the JTL expression of each of these is systematic, concise, intuitive and general. JTL relies on a simply-typed relational database for program representation, rather than an abstract syntax tree. The underlying semantics of the language is that of queries formulated in First Order Predicate Logic augmented with transitive closure (FOPL*). Special effort was taken to ensure terse, yet very readable expression of logical conditions. The JTL pattern "public abstract class", for example, matches all abstract classes which are publicly accessible, while "class { public clone(); }" matches all classes in which method clone() is public. To this end, JTL relies on a Datalog-like syntax and semantics, enriched with quantifiers and pattern matching which all but entirely eliminate the need for recursive calls. The JTL processor includes a type inference engine. Also, JTL's query analyzer gives special attention to the fragility of the "closed world assumption" in examining Java software, and determines whether a query relies on such an assumption. The performance of the JTL interpreter is comparable to that of JQuery after it generated its database cache, and at least an order of magnitude faster when the cache has to be rebuilt.

Tal Cohen, Technion - Israel Institute of Technology
Joseph (Yossi) Gil, Technion - Israel Institute of Technology
Itay Maman, Technion - Israel Institute of Technology

Research Papers in the same session
Related Onward! Papers
Related Panels
Related Practitioner Reports
Related Research Papers
Related Tutorials
Related Workshops

While Space Available
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at
© 2005 OOPSLA