1 / 15

The JQuery Tool A Generic Query-Based Code browser for Eclipse

The JQuery Tool A Generic Query-Based Code browser for Eclipse. This project is supported by an OTI “Eclipse Fellowship” program. Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan, Ray Suprio.

kris
Download Presentation

The JQuery Tool A Generic Query-Based Code browser for Eclipse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The JQuery ToolA Generic Query-BasedCode browser for Eclipse This project is supported by an OTI “Eclipse Fellowship” program Project leaders: Kris De Volder, Gregor Kiczales Students: Doug Janzen, Rajeswari Rajagopalan, Ray Suprio Software Practices Lab. -- The University of British Columbia

  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. JQuery: A Generic Browser Idea: Browser = navigable viewon 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 API’s

  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. The JQuery Eclipse plugin

  6. How to organize results Query Tree-view on query results The JQuery Eclipse plugin

  7. Example 1: Method Browser Methods in tyRuBa.util organized by name

  8. Where are instances of RE created? Example 2: Instance Creation Browser

  9. Example 3: Category Browsers Custom JavaDoc @category tags attached to classes, interfaces and methods

  10. Example 3: “Class Category Browser” Classes + interfaces with@category optimization tags

  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. Want to know more about this? Example 4: Customizing Browsers The resulting Figure Creation Browser:

  13. This is a “sub-browser” Example 4: Customizing Browsers The resulting Figure Creation Browser:

  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. 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

More Related