: Wednesday
eROSE: Guiding programmers in Eclipse
Courtyard (room C)
Wednesday, 11:00, 45 minutes
| 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Thomas Zimmermann, Saarland University
Demonstration number: 15
Suppose you apply a change to a large software system. What else do you have to change? Missing a required update results in bugs that could easily be avoided. Just like Amazon.com suggests related products after a purchase, our eROSE plugin for Eclipse guides programmers based on the system history. Suppose you changed an array fKeys[]. eROSE then suggests to change the initDefaults() function - because in the past, both items always have been changed together. If the programmer misses to commit a related change, eROSE issues a warning. All eROSE needs is a CVS repository; we designed eROSE to be as efficient and unobtrusive as possible. In order to create precise recommendations, eROSE applies efficient data mining techniques: In the Eclipse project with more than 2.9 million lines of code and 300,000 changes, eROSE suggests related changes in less than a second (Zimmermann et al., ICSE 2004). The benefit of eROSE is that it points out item coupling that is undetectable by program analysis - such as between the fKeys[] array and a properties file, or between an SQL query and an image file that contains the database schema. In the demonstration, we give a brief summary of how eROSE works and then proceed to the actual program - that is, how eROSE is set up (a matter of seconds), and how eROSE makes recommendations. We will focus especially on recommendations that would have been missed by program analysis, and will be happy to take suggestions from the audience. eROSE is available for download from: http://www.st.cs.uni-sb.de/softevo/erose/