Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this section, we give an overview of the seven query languages that we evaluate in this paper: Java Tools Language, Browse-By-Query, SOUL, JQuery, .QL, Jackpot and PMD. We selected these languages because they provide a variety of design choices and strictly provide a query language. For example, we didn't select Findbugs as it only lets programmers query source by creating new classes based on a Java framework. We also only selected source code query languages that included a guide or a working implementation.

Name

Paradigm

Model

Input

Date

Java Tools Language

Logic

Relational

Bytecode

2006

Browse-By-Query

Declarative (English-like Queries)

Relational

Bytecode

2005

SOUL

Logic

Relational

Source

2011

JQuery

Logic

Relational

Source

2003

.QL

Object-Oriented, SQL-like

Relational

Source

2007

Jackpot

Declarative

Relational

Source

2009

PMD

XPath

Tree

Source

2004

Java Language Tools

The Java Tools Language (JTL) is a logic-paradigm query language to select Java elements in a code base. The current implementation is based on an analysis of Java bytecode classes. The JTL syntax is inspired by Query-by-Example ideas in order to increase productivity of users. For example, one could find all methods taking three int parameters and returning a subclass of Java's Date class using the follow query:

...