Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De.

Similar presentations


Presentation on theme: "Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De."— Presentation transcript:

1 Software Practices Lab. -- The University of British Columbia 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 OTI “Eclipse Fellowship” program

2 Software Practices Lab. -- The University of British Columbia 2 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

3 Software Practices Lab. -- The University of British Columbia 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 Software Practices Lab. -- The University of British Columbia 4 The JQuery Eclipse plugin

5 Software Practices Lab. -- The University of British Columbia 5 The JQuery Eclipse plugin Query How to organize results Tree-view on query results

6 Software Practices Lab. -- The University of British Columbia 6 Example 1: Method Browser Methods in tyRuBa.util organized by name

7 Software Practices Lab. -- The University of British Columbia 7 Example 2: Instance Creation Browser Where are instances of RE created?

8 Software Practices Lab. -- The University of British Columbia 8 Example 3: “Category Browser” Custom JavaDoc @category tags attached to classes, interfaces and methods

9 Software Practices Lab. -- The University of British Columbia 9 Example 3: “Class Category Browser” Classes + interfaces with @category optimization tags

10 Software Practices Lab. -- The University of British Columbia 10 Example 4: Customizing Browsers Exploring creation of Figures in JHotdraw. Edit a copy of Instance Creation Browser to only show subtypes of “Figure”

11 Software Practices Lab. -- The University of British Columbia 11 Example 4: Customizing Browsers The resulting Figure Creation Browser: Want to know more about this?

12 Software Practices Lab. -- The University of British Columbia 12 Example 4: Customizing Browsers The resulting Figure Creation Browser: Add a “sub-browser”

13 Software Practices Lab. -- The University of British Columbia 13 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…

14 Software Practices Lab. -- The University of British Columbia 14 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


Download ppt "Software Practices Lab. -- The University of British Columbia 1 The JQuery Tool A Generic Query-Based Code browser for Eclipse Project leaders: Kris De."

Similar presentations


Ads by Google