Download presentation
Presentation is loading. Please wait.
1
1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan, Ray Suprio This project is supported by an OTI “Eclipse Fellowship” program Software Practices Lab. -- The University of British Columbia
2
2 Different Approaches to “Modularity” Programming Language Support –Modularity defined by how code is written –For example: aspects in AspectJ, classes in Java “Hard” modularity. Tool Support –Modularity defined by how code is viewed –For example: code browsers “Soft” modularity organization can crosscut PL modules remodularize/reorganize “on the fly” multiple simultaneous decompositions
3
3 JQuery: A Generic Browser Idea: Browser = navigable view on the result of a query expressed 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 API’s
4
4 Why 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 Also… we can use JQuery for experimentation.
5
5 The JQuery Eclipse plugin
6
6 How to organize results Query Tree-view on query results
7
7 Example 1: Method Browser Methods in tyRuBa.util organized by name
8
8 Example 2: Instance Creation Browser Where are instances of RE created?
9
9 Example 3: Category Browsers Custom JavaDoc @category tags attached to classes, interfaces and methods
10
10 Example 3: “Class Category Browser” Classes + interfaces with @category optimization tags
11
11 Example 4: Customizing Browsers Exploring creation of Figures in JHotdraw. Edit a copy of Instance Creation Browser to only show subtypes of “Figure”
12
12 Example 4: Customizing Browsers The resulting Figure Creation Browser: Want to know more about this?
13
13 Example 4: Customizing Browsers The resulting Figure Creation Browser: This is a “sub-browser”
14
14 Our 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 didn’t like so much –Steep learning curve for the API’s 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…
15
15 Download 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.