Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comment Extractor Ethan Chan Tianqiu Tem Wang Juliana Wong.

Similar presentations


Presentation on theme: "Comment Extractor Ethan Chan Tianqiu Tem Wang Juliana Wong."— Presentation transcript:

1 Comment Extractor Ethan Chan Tianqiu Tem Wang Juliana Wong

2 2 Introduction (1) What do high level software tools provide? abstract level understanding specific knowledge focus After using these tools, programmers eventually have to touch source code Abstract Level Text Level

3 3 Introduction (2) Comment explanatory text embedded in program source helps human readers understand program source code the most useful thing at code level

4 4 Motivation (1) Comments are localized Expression of interest Expression declaration Comments associated with expression Comments relating to the expression are found only in one place The same expression used elsewhere

5 5 Motivation (2) Searching for comments is a tedious job interrupts original work flow

6 6 Motivation (3) Sometimes Expression of interest is far away Expression of interest Expression Declaration Comments associated with Expression Possibly a gap of a lot of files!

7 7 Motivation (4) Examples: Grep too many incorrect results Javadoc format must be specific needs to know belonging class More in DEMO later on…

8 8 Claim Programmers shouldn’t stop the workflow do any extra work to find comments. Need a tool deals with these problems extracts comments automatically.

9 9 Solution Comment Extractor A plug-in for JEdit (an open source java editor) Extracts comments from 4 types of CO Returns comments by Intelli-Selection user ’ s selection cursor ’ s location

10 10 What the icons mean Variable comment Type comment Java predefined type comment Function comment No comment

11 11 DEMO – Introduction to the GUI This is the first level. Each level always shows the respective type and variable comments This is the class (for members) or return type (for methods)This is the detailed view pane for the selected comment aboveThis is the second level, showing comments relating to function openPrintWriter() Allow going back and forth with various comment treesFreezes comment extraction The selected express that is of interest

12 12 DEMO

13 13 DEMO – Complex process finding comments from Inherited Classes Need to know which class has isInt()’s comment Type BasicType IntTypeBooleanType PointerType …. isInt()isReal() isInt()isReal()isInt()isReal() isInt()isReal()isInt()isReal() ….

14 14 Where is m? 170 lines up, we find it’s declaration Where is Machine class? 1 out of 61 files, we find it’s declaration Where is method emitLoad? 200 lines down, we find two overloaded declarations Which emitLoad method is correct? Need to know what parameter (sto, tmp) types are! Give up? DEMO – Finding out the usual way

15 15 Where is m? 170 lines up, we find it’s declaration Open JavaDoc on Machine class Find emitLoad documentation Need to know what parameter (sto, tmp) types are! Not all comments are JavaDoc style, so are not seen! DEMO – Finding out the JavaDoc way

16 16 DEMO – Finding out the grep way Assuming there are few uses of the text “emitLoad”, where is emitLoad? Need to weed out emitLoad declarations Much faster, only because not repeated declaration Still need to know which overloaded method (still need to find out sto and tmp!) Still need to open files and read comments Hard to go back to original position if not created in separate process

17 17 DEMO – Finding out the Comment Extractor way

18 18 Limitations This tool won’t be helpful if No comments Bad comments Comments not associated with a CO a plugin currently only for JEdit works only for Java While loop

19 19 Lessons Learned (1) Didn’t have CE to develop CE difficult to understand JEdit’s massive source code Unintentional benefits i.e. warping files

20 20 Lessons Learned (2) Modular design allowed easy integration of unanticipated changes User Interaction (GUI) Functionality Comment Extractor Comment HunterLocation Searcher JEdit GUI JEdit plugin interface

21 21 Any comments ? (no pun intended) We’ll help you extract it! Comment Extractor


Download ppt "Comment Extractor Ethan Chan Tianqiu Tem Wang Juliana Wong."

Similar presentations


Ads by Google