Title: The JQuery Tool A Generic QueryBased Code browser for Eclipse
1The JQuery ToolA Generic Query-BasedCode
browser for Eclipse
This project is supported by OTI Eclipse
Fellowship program
- Project leaders
- Kris De Volder, Gregor Kiczales
- Students
- Doug Janzen, Rajeswari Rajagopalan, Ray Suprio
2Why JQuery?
- IDE have a too many browsers problem
- Different type of view different type of
browser tool - Why is this undesirable?
- Usage issues
- Disorientation caused by switching between
browsers - Implementation issues
- Must implement many different browsers
- Hard to support highly specific browsers
- e.g. aware of specific naming / coding
conventions - specific to a task
3JQuery A Generic Browser
- Idea
- Browser
- navigable view on the result of a queryexpressed
in a sufficiently expressive query language, run
against a suitable data-base of code.
Prolog-like logic language
- Facts describing code structure
- class, method, field declarations
- inheritance relationships
- calling dependencies
Derived by calling Eclipse APIs
4The JQuery Eclipse plugin
5The JQuery Eclipse plugin
6Example 1 Method Browser
Methods in tyRuBa.util organized by name
7Example 2 Instance Creation Browser
8Example 3 Category Browser
Custom JavaDoc _at_category tags attached to
classes, interfaces and methods
9Example 3 Class Category Browser
Classes interfaces with_at_category
optimization tags
10Example 4 Customizing Browsers
Exploring creation of Figures in JHotdraw.
Edit a copy of Instance Creation Browser to only
show subtypes of Figure
11Example 4 Customizing Browsers
The resulting Figure Creation Browser
12Example 4 Customizing Browsers
The resulting Figure Creation Browser
13Our Experience with Eclipse
- What we liked
- Nice integration of our tool with professional
IDE - API access to Java source model
- Eclipse incremental compiler
- We can even run queries on code that contains
compilation errors!!! - What we didnt like so much
- Steep learning curve for the APIs
- e.g to get our code facts do we
- Use the AST package?
- Or use the more high-level search engine API?
- Search engine looked good but
14Download
The JQuery Tool A Generic Query-Based Code
browser for Eclipse JDT
Download The latest release of the JQuery
plugin papers about JQuery http//www.cs.ubc.ca
/labs/spl/projects/jquery.html