Reengineering of Software Evolution in Eclipse

Software Engineering Chair (Prof. Zeller)
Saarland University – Computer Science
Campus E9 1 (CISPA)
66123 Saarbrücken, Germany
E-mail: zeller @
Phone: +49 681 302-70970

Deutschsprachige Startseite Page d'acceuil en franšais English home page

The Software Evolution project at the Software Engineering Chair, Saarland University, analyzes version and bug databases to predict failure-prone modules, related changes, and future development activities.

eRose is a plugin for Eclipse that guides programmers along related changes. If you change f() and other people have changed f() together with g() in the past, eRose will detect this and suggest "Programmers who changed function f() also changed function g()." All eRose needs is a CVS repository; we designed eRose to be as efficient and unobstrusive as possible.

Programmers who changed this function also changed...

If you browse the books at Amazon or a similar shop, you may have encountered suggestions of this type: ``Customers who bought this book also bought...'' Such findings stem from Amazon's purchase history: Buying two books or more together establish a relationship between these two books.

We realized a similar feature for software: "Programmers who changed function X also changed function Y". For this purpose, we analyze version histories of large software systems, trying to identify commonalities and anomalities, and guiding the programmer in understanding and maintenance.


  • There will be an eROSE demonstration at OOPSLA 2005.
  • 2005-05-11: New eROSE release: New features are
    • support for multiple projects and a
    • visualization of coupling with a preview release of the EPOsee pixelmap.
  • 2005-04-11: Demonstration of eROSE at the CHOOSE Forum 2005 on State of the Art in Tools for Managing Software Complexity.
  • 2005-03-01: The alpha version 0.0.3 of eROSE is available for download. No new features, but more predictions and finally the source code!
  • 2005-01-04: A new alpha version of eROSE is available for download. No new features, but a more stable preprocessing and enhanced update mechanism.
  • 2005-01-04: We have created a small FAQ and an update site for eROSE. You can now use the Eclipse update manager to install and update eROSE from
  • 2004-12-29: An alpha version of eROSE is available for download.
  • 2004-12-29: There is a getting started documentation for eROSE.
  • Subscribe to the eROSE mailing list (see below) and you will be notified of future releases.


  • Mining Version Histories to Guide Software Changes. T. Zimmermann, P. Weißgerber, S. Diehl, A. Zeller. Saarland University, September 2003. Proc. 26th International Conference on Software Engineering (ICSE), Edinburgh, UK, May 2004. [PDF]
    Abstract. We apply data mining to version histories in order to guide programmers along related changes: "Programmers who changed these functions also changed...". Given a set of existing changes, such rules a) suggest and predict likely further changes, b) show up item coupling that is indetectable by program analysis, and c) prevent errors due to incomplete changes. Our evaluation shows after an initial change, our ROSE prototype can correctly predict 26% of further files to be changed—and 15% of the precise functions or variables. 30% of the suggested files and 26% of the suggested functions or variables were correct predictions.

Discuss eROSE @ Google


See also

<> · · Updated: 2014-03-23 23:45