Eclipse Code Recommenders   What’s	  in	  Juno	  and	     what	  will	  be	  in	  Kepler?     tw:	  @MarcelBruch          ...
Samstag, 23. Juni 2012
Eclipse	  Code	  Recommenders	  	  	  	  	  	                           All Frameworks       Code                     Code...
“Other	  developers	  frequently	  bought	  used	  the	  following	  methods…”   INTELLIGENT	  CODE	  COMPLETIONSamstag, 2...
Code	  Comple6on…                   @Override                   protected Control createDialogArea(final Composite parent)...
Samstag, 23. Juni 2012
All	  164	  Methods	  of	  Text	  ?Samstag, 23. Juni 2012
Intelligent	  Call	  Comple6on                            ...	  what	  the	  developer	  actually	  needed.Samstag, 23. Ju...
“BecausePureCamelCaseMatching****s!”   SUBWORDS	  COMPLETIONSamstag, 23. Juni 2012
Clean	  Code	  encourages	  you	  to	  use	                speaking	  method	  names.	  But	  some6mes....Samstag, 23. Jun...
10Samstag, 23. Juni 2012
ABen                                                           6   on:	  	  W                                             ...
“Oh	  SWT	  -­‐	  your	  style	  bits...”   RETHINKING	  ARGUMENT	  GUESSINGSamstag, 23. Juni 2012
Oh	  SWT,	  your	  style	  bits...           @Override           protected Control createControl(final Composite parent) {...
Samstag, 23. Juni 2012
SWT.<^Space>?	  	  454Samstag, 23. Juni 2012
SWT.<^Space>?	  	  454 ±	  3Samstag, 23. Juni 2012
What	  you’d	  like	  to	  see	  is...                                                                       15Samstag, 23...
e4	  Annota6on	  Recommender                                                          16Samstag, 23. Juni 2012
“Why	  	  is	  	  was	  Google	  Codesearch	  not	  ‘google	  for	  code	  search’?	  ”   RETHINKING	  CODE	  SEARCHSamsta...
What	  do	  you	  think?                                                       18Samstag, 23. Juni 2012
How	  many	  request	  per	  minutes	  do                            code	  search	  engines	  have?Samstag, 23. Juni 2012
20                         Number	  for	  koders.com	  in	  2009	  according	  to	  	  “Analyzing	  and	  mining	  a	  cod...
“Templates	  meet	  Social	  and	  Machine	  Learning!”   RETHINKING	  CODE	  SNIPPETSSamstag, 23. Juni 2012
Eclipse	  Java	  Templates                          42x	  Java	  Templates.                          35x	  SWT	  Templates...
The	  rise	  of	  code	  snippet	  repositories                                                                   and	  ma...
Snipmatch:	  Community	  provided,                             searchable	  templates...Samstag, 23. Juni 2012
“People	  who	  ‘bought’	  this	  NullPointerException	  typically	  fixed	  this	  by...”   RETHINKING	  STACKTRACE	  SEAR...
But	  what	  if	  you	  get	  this?Samstag, 23. Juni 2012
Debugging	  –	  the	  old	  waySamstag, 23. Juni 2012
Debugging	  –	  the	  old	  waySamstag, 23. Juni 2012
Debugging	  –	  the	  old	  waySamstag, 23. Juni 2012
But	  more	  oden	  we	  get…Samstag, 23. Juni 2012
How	  can	  we	  fix	  that?	        Don’t	  stacktraces	  share	  some	  commonali6es?      org.eclipse.swt.SWTException: ...
How	  can	  we	  fix	  that?	        Don’t	  stacktraces	  share	  some	  commonali6es?      org.eclipse.swt.SWTException: ...
How	  about	  “stacktrace	  recommenders”?Samstag, 23. Juni 2012
4	  Tool	  Candidates	  for	  Eclipse	  Kepler                         ❶	  Arguments	  &	  AnnotaHon	                     ...
hBp://eclipse.org/recommenders/                                     Follow	  me	  on	  twiBer:	  @MarcelBruch             ...
Upcoming SlideShare
Loading in...5
×

Eclipse Democamp Zurich

883

Published on

What's in Juno and what will be in Kepler?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
883
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Eclipse Democamp Zurich

  1. 1. Eclipse Code Recommenders What’s  in  Juno  and   what  will  be  in  Kepler? tw:  @MarcelBruch h g+:  +Marcel  Bruch ric p  Zu m Ca mo DeSamstag, 23. Juni 2012
  2. 2. Samstag, 23. Juni 2012
  3. 3. Eclipse  Code  Recommenders             All Frameworks Code Code Developers Who Called “new Text()” Also Called setText() addListener() setLayout() setFont() 89% 53% 99% 35% What Do Developers Ultimately Override After Extending This Class? 100 % overwrote PreferencePage.createContents() 96 % overwrote PreferencePage.performOk() 5 % overwrote PreferencePage.performCancel()Samstag, 23. Juni 2012
  4. 4. “Other  developers  frequently  bought  used  the  following  methods…” INTELLIGENT  CODE  COMPLETIONSamstag, 23. Juni 2012
  5. 5. Code  Comple6on… @Override protected Control createDialogArea(final Composite parent) { Composite container = (Composite) super.createDialogArea(parent); swtTextWidget = new Text(container, SWT.BORDER); swtTextWidget.| return container; } What  does  a  developer  need,  i.e.,   which  methods  should  the  code  compleHon  present  to  him?Samstag, 23. Juni 2012
  6. 6. Samstag, 23. Juni 2012
  7. 7. All  164  Methods  of  Text  ?Samstag, 23. Juni 2012
  8. 8. Intelligent  Call  Comple6on ...  what  the  developer  actually  needed.Samstag, 23. Juni 2012
  9. 9. “BecausePureCamelCaseMatching****s!” SUBWORDS  COMPLETIONSamstag, 23. Juni 2012
  10. 10. Clean  Code  encourages  you  to  use   speaking  method  names.  But  some6mes....Samstag, 23. Juni 2012
  11. 11. 10Samstag, 23. Juni 2012
  12. 12. ABen 6 on:    W e  are   leavin g   “what ’s  the re”  no w! “Rethinking  your  tool  suite.  Again.” WHAT’S  PLANNED  FOR  KEPLER?Samstag, 23. Juni 2012
  13. 13. “Oh  SWT  -­‐  your  style  bits...” RETHINKING  ARGUMENT  GUESSINGSamstag, 23. Juni 2012
  14. 14. Oh  SWT,  your  style  bits... @Override protected Control createControl(final Composite parent) { ! ! textWidget = new Text(toolbar, SWT.BORDER); ! ! textWidget.addListener(eventType, listener) Which  event  type,  i.e.,    which  int  constant  defined   somewhere,  should  he  insert  here?  0? 13Samstag, 23. Juni 2012
  15. 15. Samstag, 23. Juni 2012
  16. 16. SWT.<^Space>?    454Samstag, 23. Juni 2012
  17. 17. SWT.<^Space>?    454 ±  3Samstag, 23. Juni 2012
  18. 18. What  you’d  like  to  see  is... 15Samstag, 23. Juni 2012
  19. 19. e4  Annota6on  Recommender 16Samstag, 23. Juni 2012
  20. 20. “Why    is    was  Google  Codesearch  not  ‘google  for  code  search’?  ” RETHINKING  CODE  SEARCHSamstag, 23. Juni 2012
  21. 21. What  do  you  think? 18Samstag, 23. Juni 2012
  22. 22. How  many  request  per  minutes  do code  search  engines  have?Samstag, 23. Juni 2012
  23. 23. 20 Number  for  koders.com  in  2009  according  to    “Analyzing  and  mining  a  code  search  engine  usage  log” hBp://dx.doi.org/10.1007/s10664-­‐010-­‐9144-­‐6 20Samstag, 23. Juni 2012
  24. 24. “Templates  meet  Social  and  Machine  Learning!” RETHINKING  CODE  SNIPPETSSamstag, 23. Juni 2012
  25. 25. Eclipse  Java  Templates 42x  Java  Templates. 35x  SWT  Templates.Samstag, 23. Juni 2012
  26. 26. The  rise  of  code  snippet  repositories and  many  more...Samstag, 23. Juni 2012
  27. 27. Snipmatch:  Community  provided, searchable  templates...Samstag, 23. Juni 2012
  28. 28. “People  who  ‘bought’  this  NullPointerException  typically  fixed  this  by...” RETHINKING  STACKTRACE  SEARCHSamstag, 23. Juni 2012
  29. 29. But  what  if  you  get  this?Samstag, 23. Juni 2012
  30. 30. Debugging  –  the  old  waySamstag, 23. Juni 2012
  31. 31. Debugging  –  the  old  waySamstag, 23. Juni 2012
  32. 32. Debugging  –  the  old  waySamstag, 23. Juni 2012
  33. 33. But  more  oden  we  get…Samstag, 23. Juni 2012
  34. 34. How  can  we  fix  that?   Don’t  stacktraces  share  some  commonali6es? org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3884) at org.eclipse.swt.SWT.error(SWT.java:3799) at org.eclipse.swt.SWT.error(SWT.java:3770) at org.eclipse.swt.widgets.Widget.error(Widget.java:463) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:355) at org.eclipse.swt.widgets.ProgressBar.setSelection(ProgressBar.java:317) at org.eclipselabs.cr.stacktraces.demo.ThreadDemo$1.run(Unknown Source) at java.lang.Thread.run(Thread.java:619)Samstag, 23. Juni 2012
  35. 35. How  can  we  fix  that?   Don’t  stacktraces  share  some  commonali6es? org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:3884) at org.eclipse.swt.SWT.error(SWT.java:3799) at org.eclipse.swt.SWT.error(SWT.java:3770) at org.eclipse.swt.widgets.Widget.error(Widget.java:463) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:355) at org.eclipse.swt.widgets.ProgressBar.setSelection(ProgressBar.java:317) at org.eclipselabs.cr.stacktraces.demo.ThreadDemo$1.run(Unknown Source) at java.lang.Thread.run(Thread.java:619)Samstag, 23. Juni 2012
  36. 36. How  about  “stacktrace  recommenders”?Samstag, 23. Juni 2012
  37. 37. 4  Tool  Candidates  for  Eclipse  Kepler ❶  Arguments  &  AnnotaHon   ❷  Code  Search Recommender ❺  One  of  these! ❸  Code  Snippet  Mining ❹  Stacktrace  Search 32Samstag, 23. Juni 2012
  38. 38. hBp://eclipse.org/recommenders/ Follow  me  on  twiBer:  @MarcelBruch google+:  +Marcel  Bruch 33Samstag, 23. Juni 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×