IDE 2.0 & Research at Eclipse - ECOOP 2011

1,051 views
969 views

Published on

Demo slides + some statistics such as visits, downloads, milage, etc. + some motivation why to become an Eclipse project.

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

  • Be the first to like this

No Downloads
Views
Total views
1,051
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IDE 2.0 & Research at Eclipse - ECOOP 2011

  1. 1. How  do  you  share  knowledge? 1Donnerstag, 28. Juli 2011
  2. 2. How  do  you  share  knowledge? Pairs 0 Pair  Programming Reviews 1Donnerstag, 28. Juli 2011
  3. 3. How  do  you  share  knowledge? Pairs Colleagues 0 5 Pair  Programming Mee8ngs Reviews Emails Chats 1Donnerstag, 28. Juli 2011
  4. 4. How  do  you  share  knowledge? Remote   Pairs Colleagues Collabs 0 5 42 Pair  Programming Mee8ngs Phone Reviews Emails Emails Chats Mailing  Lists 1Donnerstag, 28. Juli 2011
  5. 5. How  do  you  share  knowledge? Remote   Pairs Colleagues Community Collabs 0 5 1927 42 Pair  Programming Mee8ngs Phone Forums Reviews Emails Emails Stackoverflow.com Chats Mailing  Lists 1Donnerstag, 28. Juli 2011
  6. 6. Eclipse Code Recommenders “IDE 2.0” Research at Eclipse.org @MarcelBruch O OP EC gile@ ADonnerstag, 28. Juli 2011
  7. 7. 3Donnerstag, 28. Juli 2011
  8. 8.                  Eclipse  Code  Recommenders All Frameworks Code Code Eclipse Code Developers Who Called “new Text()” Method 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() 4Donnerstag, 28. Juli 2011
  9. 9. “Other  developers  frequently  bought  used  the  following  methods…” Intelligent  Code  Comple>onDonnerstag, 28. Juli 2011
  10. 10. Code  Comple8on… What  does  the  developer  need,  i.e.,  which  methods  should   the  code  comple>on  present  to  the  user? 6Donnerstag, 28. Juli 2011
  11. 11. Donnerstag, 28. Juli 2011
  12. 12. All  164  Methods  of  Text  ?Donnerstag, 28. Juli 2011
  13. 13. JBuOon?  381  Methods.Donnerstag, 28. Juli 2011
  14. 14. Code  Comple8on… What  does  the  developer  need,  i.e.,  which  methods  should   the  code  comple>on  present  to  the  user? 9Donnerstag, 28. Juli 2011
  15. 15. Intelligent  Code  Comple8on …  or  just  the  three  missing  ones?   10Donnerstag, 28. Juli 2011
  16. 16. Tools  Outline 11Donnerstag, 28. Juli 2011
  17. 17. Tools  Outline Intelligent  Code  Comple8on 11Donnerstag, 28. Juli 2011
  18. 18. Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs 11Donnerstag, 28. Juli 2011
  19. 19. Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs Code  Example  Recommender How  do  I  get  an  instance  of…? 11Donnerstag, 28. Juli 2011
  20. 20. Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs Code  Example  Recommender Smart  Bug  Detec8on How  do  I  get  an  instance  of…? What  have  I  missed? 11Donnerstag, 28. Juli 2011
  21. 21. Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs Stacktrace  Search  Engine Code  Example  Recommender Smart  Bug  Detec8on What  caused  that  stacktrace? How  do  I  get  an  instance  of…? What  have  I  missed? 11Donnerstag, 28. Juli 2011
  22. 22. “Why  is  Google  Codesearch  not  ‘google  for  code  search’?  ” Leveraging  User  Feedback  to Improve  Code  Search  EnginesDonnerstag, 28. Juli 2011
  23. 23. Leveraging  user  feedback ... ... ... ... 13Donnerstag, 28. Juli 2011
  24. 24. Leveraging  user  feedback ... ... ... ... 13Donnerstag, 28. Juli 2011
  25. 25. Refine  the  ranking  based  on  feedbackDonnerstag, 28. Juli 2011
  26. 26. Refine  the  ranking  based  on  feedbackDonnerstag, 28. Juli 2011
  27. 27. Learning  how  to  rank… 15Donnerstag, 28. Juli 2011
  28. 28. Learning  how  to  rank… 1 2 3 15Donnerstag, 28. Juli 2011
  29. 29. Learning  how  to  rank… 1 2 2 1 3 3 15Donnerstag, 28. Juli 2011
  30. 30. Learning  how  to  rank… 1 2 Support 2 Vector 1 Machine 3 3 15Donnerstag, 28. Juli 2011
  31. 31. Learning  how  to  rank… 1 2 Support a nk 2 Vector M R 1 S V Machine 3 3 15Donnerstag, 28. Juli 2011
  32. 32. Stackoverflow.com  –  Reloaded! What  Caused  that  Stacktrace?Donnerstag, 28. Juli 2011
  33. 33. So  far  we  have… Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs Code  Example  Recommender Smart  Bug  Detec8on How  do  I  get  an  instance  of…? What  have  I  missed?Donnerstag, 28. Juli 2011
  34. 34. But  what  if  you  get  this?Donnerstag, 28. Juli 2011
  35. 35. Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
  36. 36. Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
  37. 37. Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
  38. 38. But  more  oQen  we  get…Donnerstag, 28. Juli 2011
  39. 39. How  can  we  fix  that?   Don’t  stacktraces  share  some  commonali8es? 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)Donnerstag, 28. Juli 2011
  40. 40. How  can  we  fix  that?   Don’t  stacktraces  share  some  commonali8es? ExceptionType Feature (evaluates identical exception type) Message Similarity Feature (counts of similar words) 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) TraceDiff Similarity Feature (counts similar stackframes per trace)Donnerstag, 28. Juli 2011
  41. 41. “IDE  2.0?  Leveraging  the  wisdom  of  the  (Eclipse)  community…” Eclipse  Code  RecommendersDonnerstag, 28. Juli 2011
  42. 42. From  IDE  1.0  to  IDE  2.0 24Donnerstag, 28. Juli 2011
  43. 43. From  IDE  1.0  to  IDE  2.0 24Donnerstag, 28. Juli 2011
  44. 44. Leveraging  your  IDE’s  build  environment 25Donnerstag, 28. Juli 2011
  45. 45. Leveraging  your  IDE’s  build  environment projectenvironment 25Donnerstag, 28. Juli 2011
  46. 46. Leveraging  your  IDE’s  build  environment context projectenvironment 25Donnerstag, 28. Juli 2011
  47. 47. Leveraging  your  IDE’s  build  environment context object usage projectenvironment 25Donnerstag, 28. Juli 2011
  48. 48. Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals 25Donnerstag, 28. Juli 2011
  49. 49. Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals click feedback 25Donnerstag, 28. Juli 2011
  50. 50. Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals click feedback Stacktraces 25Donnerstag, 28. Juli 2011
  51. 51. 26Donnerstag, 28. Juli 2011
  52. 52. Part  II:  Experience  Report  “Going  Eclipse”Donnerstag, 28. Juli 2011
  53. 53. Why?Donnerstag, 28. Juli 2011
  54. 54. font  size  ≈  #  cita8ons  Google  Scholar   40  Research  Tools  on  SoQware  Engineering... FindBugs Abbrevia8on  Comple8on Exper>se  Browser eRose PopCon GrouMiner Code  Recommenders Ala]n Jadet FrUiT Exemplar PR-­‐Miner Dhruv Marie eXoaDocs Kagdi DynaMine Hipikat CodeWeb SemDiff Mapo Mylyn Error  Specs CodeBroker SNIFF CP-­‐Miner SpotWeb Mica Hill  and  Rideout Suade Altair Prospector Jadeite MUDABlue StrathCona ParseWeb OComple8on Sourcerer xSnippet 29Donnerstag, 28. Juli 2011
  55. 55. Tools  actually  used  by  Programmers.... FindBugs Abbrevia8on  Comple8on Exper8se  Browser PopCon GrouMiner eRose Code  Recommenders Ala]n FrUiT Exemplar PR-­‐Miner Jadet Dhruv Marie eXoaDocs DynaMine Kagdi Hipikat CodeWeb SemDiff Mapo Mylyn Error  Specs CodeBroker CP-­‐Miner SNIFF SpotWeb Mica Hill  and  Rideout Suade Altair Prospector Jadeite MUDABlue StrathCona ParseWeb OComple8on Sourcerer xSnippet 30Donnerstag, 28. Juli 2011
  56. 56. “How  many  papers  could  I  write  instead...?” What  prevents  you  from  doing?Donnerstag, 28. Juli 2011
  57. 57. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t 32Donnerstag, 28. Juli 2011
  58. 58. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t Infrastructure: Homepage Mailing List IP Checks Primitive GUI Homepage Community Source Tarballs Blog Release Plans Issue Tracker Multi-Branches Marketplace Continuous Integration 33Donnerstag, 28. Juli 2011
  59. 59. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t Infrastructure: Homepage Mailing List IP Checks Primitive GUI Homepage Community Source Tarballs Blog Release Plans Issue Tracker Multi-Branches Marketplace Continuous Integration Research: Paper Large-scale Evaluation Data New Tools New Papers 33Donnerstag, 28. Juli 2011
  60. 60. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t Infrastructure: Homepage Mailing List IP Checks Primitive GUI Homepage Community Source Tarballs Blog Release Plans Issue Tracker Multi-Branches Marketplace Continuous Integration Research: Paper Large-scale Evaluation Data New Tools New Papers 33Donnerstag, 28. Juli 2011
  61. 61. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t Infrastructure: Homepage Mailing List IP Checks Primitive GUI Homepage Community Source Tarballs Blog Release Plans Issue Tracker Multi-Branches Marketplace Continuous Integration Research: Paper Large-scale Evaluation Data New Tools New Papers Perception: Research Community Early Adopters in Business Companies 33Donnerstag, 28. Juli 2011
  62. 62. Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t Infrastructure: Homepage Mailing List IP Checks Primitive GUI Homepage Community Source Tarballs Blog Release Plans Issue Tracker Multi-Branches Marketplace Continuous Integration Research: Paper Large-scale Evaluation Data New Tools New Papers Perception: Research Community Early Adopters in Business Companies 33Donnerstag, 28. Juli 2011
  63. 63. “There  is  sSll  no  free  lunch.  Community  needs  work...” Retrospec>ve:  Building  a  CommunityDonnerstag, 28. Juli 2011
  64. 64. Eclipse  DemoCamps Indigo: 3x 2011 Helios: 5x 2010 Galileo: 2x 2009 35Donnerstag, 28. Juli 2011
  65. 65. Eclipse  Magazine  Ar8cles  [de] 36Donnerstag, 28. Juli 2011
  66. 66. Industry  Conference  Talks 1x 2010 1x 2009,1x 2010 1x 2010 37Donnerstag, 28. Juli 2011
  67. 67. Company  Talks 38Donnerstag, 28. Juli 2011
  68. 68. Beginning  Coopera8ons Eclipse  JDT ? not yet :) 39Donnerstag, 28. Juli 2011
  69. 69. Future  Research  Coopera8ons? Topic University Abbrevia8on  Comple8on Massachuchetss  Ins8tute  of  Technology,  US Subwords  Comple8on  Engine Paul  Emanuel  Faidherbe,  private Stacktrace  Search Federal  University  of  Rio  de  Janeiro “API  Groups”  Comple8on  Engine Munich  University  of  Technology,  Germany Module  Exper8se  Recommender University  of  Kassel,  Germany 40Donnerstag, 28. Juli 2011
  70. 70. “Warning:  They  might  look  different  to  what  you  expect...” Some  NumbersDonnerstag, 28. Juli 2011
  71. 71. Mileage Location Time(s) Attendees Distance Darmstadt 4x 250 0 km Frankfurt 2x 140 40 km Walldorf 1x 150 70 km Karlsruhe 3x 180 110 km Ludwigsburg 2x 100 160 km Bonn 1x 50 180 km Kassel 1x 30 220 km Dortmund 1x 50 250 km Zurich 1x 10 390 km Munich 1x 170 400 km Total 15x 1130 4480 km 42Donnerstag, 28. Juli 2011
  72. 72. Webpage  Visits DZone  Ar8cle “IDE  2.0” Eclipse  Summit 1st  Blog DemoCamps 2000 DemoCamps Eclipse  Summit 1529 1500 2.  DemoCamp 1155 1096 1021 1015 982 884 939 1000 818 692 647 630 682 546 606 491 499 521 475 507 500 284 267 278 183 197 209 166 142 165 63 0 0 0 0 0 1.3.09 1.5.09 1.7.09 1.9.09 1.11.09 1.1.10 1.3.10 1.5.10 1.7.10 1.9.10 1.11.10 1.1.11 1.3.11 1.5.11 University Eclipse.org 1.  DemoCamp Move  to Registered  Eclipse Eclipselabs Eclipse Move  to Marketplace Magazin Eclipse 23,000 Visits from 01.03.2009 until 26.07.201. 43Donnerstag, 28. Juli 2011
  73. 73. Google  Analy8cs  Stats University: 23  Months 01.03.2009  -­‐  01.02.2011 Eclipse: 5  Months   15.02.2011-­‐  26.07.2011 44Donnerstag, 28. Juli 2011
  74. 74. Visits  for  code-­‐recommenders.blogspot.com Not counting aggregators such as planeteclipse.org... 45Donnerstag, 28. Juli 2011
  75. 75. Twiner 46Donnerstag, 28. Juli 2011
  76. 76. Downloads  15.02.-­‐25.07. 47Donnerstag, 28. Juli 2011
  77. 77. Downloads  15.02.-­‐25.07. 1500 1125 1433 750 310 Completion 375 Codesearch 111 Extdocs 97 Subwords 1 0 Stacktraces 1 Bugs 47Donnerstag, 28. Juli 2011
  78. 78. Downloads  15.02.-­‐25.07. 1500 1125 1433 750 310 Completion 375 Codesearch 111 Extdocs 97 Subwords 1 0 Stacktraces 1 Bugs 47Donnerstag, 28. Juli 2011
  79. 79. “Not  everything  is  rosy.” Annoying  liOle  things...Donnerstag, 28. Juli 2011
  80. 80. Time  Effort 49Donnerstag, 28. Juli 2011
  81. 81. License  Restric8ons 50Donnerstag, 28. Juli 2011
  82. 82. Intellectual  Property  Checks 51Donnerstag, 28. Juli 2011
  83. 83. Elec8ng  Comminers 52Donnerstag, 28. Juli 2011
  84. 84. All this feels overly complicated from academia perspective. Yes, I know - there is a need for this... 53Donnerstag, 28. Juli 2011
  85. 85. Why  shouldn’t  you  stop?Donnerstag, 28. Juli 2011
  86. 86. Because  you  want  people to  use  your  soQware! 55Donnerstag, 28. Juli 2011
  87. 87. You  write  tools  in  Eclipse? 56Donnerstag, 28. Juli 2011
  88. 88. You  write  tools  in  Eclipse? We  provide  a  plaqorm: • Eclipselabs  Git  Repository • Build  System • Database • Infrastructure  in  Eclipse  and  Servers  (Selec8ons,  Code  Comple8on,   Codesearch,  Stacktraces,  Extended  Javadocs) 56Donnerstag, 28. Juli 2011
  89. 89. You  write  tools  in  Eclipse? We  provide  a  plaqorm: • Eclipselabs  Git  Repository • Build  System • Database • Infrastructure  in  Eclipse  and  Servers  (Selec8ons,  Code  Comple8on,   Codesearch,  Stacktraces,  Extended  Javadocs) We  build  a  community: • DemoCamps, • Industry  Conferences, • Magazine  Ar8cles  /  Interviews, • Blog, • Twiner, • ... 56Donnerstag, 28. Juli 2011
  90. 90. Tools  actually  used  by  Programmers.... FindBugs Abbrevia8on  Comple8on Exper8se  Browser Mylyn Code  Recommenders PopCon GrouMiner eRose Ala]n PR-­‐Miner Exemplar “Your  tool” FrUiT Jadet Dhruv Marie eXoaDocs DynaMine Kagdi Hipikat CodeWeb “Your  tool” SemDiff Mapo Error  Specs CodeBroker CP-­‐Miner SNIFF SpotWeb Mica Hill  and  Rideout Suade Altair “Your  tool” Jadeite Prospector MUDABlue StrathCona ParseWeb OComple8on Sourcerer xSnippet 57Donnerstag, 28. Juli 2011
  91. 91. Thanks.Donnerstag, 28. Juli 2011

×