• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
IDE 2.0 & Research at Eclipse - ECOOP 2011
 

IDE 2.0 & Research at Eclipse - ECOOP 2011

on

  • 938 views

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

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

Statistics

Views

Total Views
938
Views on SlideShare
932
Embed Views
6

Actions

Likes
0
Downloads
1
Comments
0

2 Embeds 6

https://twitter.com 4
http://twitter.com 2

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    IDE 2.0 & Research at Eclipse - ECOOP 2011 IDE 2.0 & Research at Eclipse - ECOOP 2011 Presentation Transcript

    • How  do  you  share  knowledge? 1Donnerstag, 28. Juli 2011
    • How  do  you  share  knowledge? Pairs 0 Pair  Programming Reviews 1Donnerstag, 28. Juli 2011
    • How  do  you  share  knowledge? Pairs Colleagues 0 5 Pair  Programming Mee8ngs Reviews Emails Chats 1Donnerstag, 28. Juli 2011
    • 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
    • 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
    • Eclipse Code Recommenders “IDE 2.0” Research at Eclipse.org @MarcelBruch O OP EC gile@ ADonnerstag, 28. Juli 2011
    • 3Donnerstag, 28. Juli 2011
    •                  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
    • “Other  developers  frequently  bought  used  the  following  methods…” Intelligent  Code  Comple>onDonnerstag, 28. Juli 2011
    • Code  Comple8on… What  does  the  developer  need,  i.e.,  which  methods  should   the  code  comple>on  present  to  the  user? 6Donnerstag, 28. Juli 2011
    • Donnerstag, 28. Juli 2011
    • All  164  Methods  of  Text  ?Donnerstag, 28. Juli 2011
    • JBuOon?  381  Methods.Donnerstag, 28. Juli 2011
    • Code  Comple8on… What  does  the  developer  need,  i.e.,  which  methods  should   the  code  comple>on  present  to  the  user? 9Donnerstag, 28. Juli 2011
    • Intelligent  Code  Comple8on …  or  just  the  three  missing  ones?   10Donnerstag, 28. Juli 2011
    • Tools  Outline 11Donnerstag, 28. Juli 2011
    • Tools  Outline Intelligent  Code  Comple8on 11Donnerstag, 28. Juli 2011
    • Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs 11Donnerstag, 28. Juli 2011
    • Tools  Outline Intelligent  Code  Comple8on Usage-­‐Driven  Javadocs Code  Example  Recommender How  do  I  get  an  instance  of…? 11Donnerstag, 28. Juli 2011
    • 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
    • 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
    • “Why  is  Google  Codesearch  not  ‘google  for  code  search’?  ” Leveraging  User  Feedback  to Improve  Code  Search  EnginesDonnerstag, 28. Juli 2011
    • Leveraging  user  feedback ... ... ... ... 13Donnerstag, 28. Juli 2011
    • Leveraging  user  feedback ... ... ... ... 13Donnerstag, 28. Juli 2011
    • Refine  the  ranking  based  on  feedbackDonnerstag, 28. Juli 2011
    • Refine  the  ranking  based  on  feedbackDonnerstag, 28. Juli 2011
    • Learning  how  to  rank… 15Donnerstag, 28. Juli 2011
    • Learning  how  to  rank… 1 2 3 15Donnerstag, 28. Juli 2011
    • Learning  how  to  rank… 1 2 2 1 3 3 15Donnerstag, 28. Juli 2011
    • Learning  how  to  rank… 1 2 Support 2 Vector 1 Machine 3 3 15Donnerstag, 28. Juli 2011
    • Learning  how  to  rank… 1 2 Support a nk 2 Vector M R 1 S V Machine 3 3 15Donnerstag, 28. Juli 2011
    • Stackoverflow.com  –  Reloaded! What  Caused  that  Stacktrace?Donnerstag, 28. Juli 2011
    • 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
    • But  what  if  you  get  this?Donnerstag, 28. Juli 2011
    • Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
    • Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
    • Debugging  –  the  old  wayDonnerstag, 28. Juli 2011
    • But  more  oQen  we  get…Donnerstag, 28. Juli 2011
    • 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
    • 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
    • “IDE  2.0?  Leveraging  the  wisdom  of  the  (Eclipse)  community…” Eclipse  Code  RecommendersDonnerstag, 28. Juli 2011
    • From  IDE  1.0  to  IDE  2.0 24Donnerstag, 28. Juli 2011
    • From  IDE  1.0  to  IDE  2.0 24Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment projectenvironment 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment context projectenvironment 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment context object usage projectenvironment 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals click feedback 25Donnerstag, 28. Juli 2011
    • Leveraging  your  IDE’s  build  environment context object usage project selectedenvironment proposals click feedback Stacktraces 25Donnerstag, 28. Juli 2011
    • 26Donnerstag, 28. Juli 2011
    • Part  II:  Experience  Report  “Going  Eclipse”Donnerstag, 28. Juli 2011
    • Why?Donnerstag, 28. Juli 2011
    • 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
    • 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
    • “How  many  papers  could  I  write  instead...?” What  prevents  you  from  doing?Donnerstag, 28. Juli 2011
    • Maturity  Levels Start of Research Usable Industry-ready Research Prototype Prototype Tool t 32Donnerstag, 28. Juli 2011
    • 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
    • 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
    • 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
    • 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
    • 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
    • “There  is  sSll  no  free  lunch.  Community  needs  work...” Retrospec>ve:  Building  a  CommunityDonnerstag, 28. Juli 2011
    • Eclipse  DemoCamps Indigo: 3x 2011 Helios: 5x 2010 Galileo: 2x 2009 35Donnerstag, 28. Juli 2011
    • Eclipse  Magazine  Ar8cles  [de] 36Donnerstag, 28. Juli 2011
    • Industry  Conference  Talks 1x 2010 1x 2009,1x 2010 1x 2010 37Donnerstag, 28. Juli 2011
    • Company  Talks 38Donnerstag, 28. Juli 2011
    • Beginning  Coopera8ons Eclipse  JDT ? not yet :) 39Donnerstag, 28. Juli 2011
    • 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
    • “Warning:  They  might  look  different  to  what  you  expect...” Some  NumbersDonnerstag, 28. Juli 2011
    • 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
    • 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
    • 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
    • Visits  for  code-­‐recommenders.blogspot.com Not counting aggregators such as planeteclipse.org... 45Donnerstag, 28. Juli 2011
    • Twiner 46Donnerstag, 28. Juli 2011
    • Downloads  15.02.-­‐25.07. 47Donnerstag, 28. Juli 2011
    • 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
    • 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
    • “Not  everything  is  rosy.” Annoying  liOle  things...Donnerstag, 28. Juli 2011
    • Time  Effort 49Donnerstag, 28. Juli 2011
    • License  Restric8ons 50Donnerstag, 28. Juli 2011
    • Intellectual  Property  Checks 51Donnerstag, 28. Juli 2011
    • Elec8ng  Comminers 52Donnerstag, 28. Juli 2011
    • All this feels overly complicated from academia perspective. Yes, I know - there is a need for this... 53Donnerstag, 28. Juli 2011
    • Why  shouldn’t  you  stop?Donnerstag, 28. Juli 2011
    • Because  you  want  people to  use  your  soQware! 55Donnerstag, 28. Juli 2011
    • You  write  tools  in  Eclipse? 56Donnerstag, 28. Juli 2011
    • 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
    • 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
    • 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
    • Thanks.Donnerstag, 28. Juli 2011