SemDiff now supports Eclipse 3.6 and no longer work with Eclipse 3.5 hence the bump in the release number (release 2.3.0 was only available internally).
Previous version of SemDiff (Eclipse 3.5) is still available at: http://www.cs.mcgill.ca/~swevo/semdiff/site_2.2.x
[June 27th, 2010]
SemDiff 2.2.1 is out:
Supports PPA 1.1.2, which includes many bug fixes and allows the multiple threads to access PPA.
Added a new detector, fielddiff, created by Luke Bayly. This means there is a new database schema and you need to update your database or preferably create a new one.
Refactored how PPA is used: PPA is now executed once per transaction when at least one plug-in requires a typed AST. This greatly improve performance when multiple detectors require PPA.
Added a Copy/Paste action in the Repositories View allowing easy sharing of repositories (similar to how CVS repositories can be copied/pasted in Eclipse).
Because PPA now better supports Java 5 constructs, SemDiff correctly handles transactions containing changes to annotations and enum types. Future versions will include finer grained details in StructDiff/CallDiff/FieldDiff with augmented handles.
This is likely the last release for Eclipse 3.5. Future releases will require Eclipse 3.6. Previous releases are no longer available through this website, but they can be requested by sending an email to Bart.
[January 8th, 2010]
SemDiff 2.2.0 is out:
Requires Eclipse 3.5.
Supports PPA 1.1.1.
Supports submodules in cvs repositories (e.g., a path could be org.eclipse.jdt.junit4.runtime/src instead of org.eclipse.jdt.junit4.runtime)
Supports remote queries through JSON. See plug-in ca.mcgill.cs.swevo.semdiff.remote for more info.
In the course of a framework's evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework's evolution can be a challenging task. SemDiff is a recommendation system that suggests adaptations to client programs by analyzing how a framework adapts to its own changes. SemDiff also provides a repository analysis framework that can be used by researchers to study the evolution of any software products developed with CVS or Subversion.
System requirements: Eclipse 3.6 and Java 1.6. To create your own repositories, a minimum of 2 GB RAM is recommended and you will need to use HSQLDB (embedded in SemDiff) or PostreSQL. SemDiff has been tested on Linux and Windows.
Barthélémy Dagenais and Martin P. Robillard. Recommending Adaptive Changes for Framework Evolution. In Proceedings of the 30th ACM/IEEE International Conference on Software Engineering, pages 481-490, May 2008. [ACM SIGSOFT Distinguished Paper Award]. (pdf).