Changereplay

Aus SDQ-Wiki

In the context of a master's thesis a tool for replaying Java code changes using Eclipse has been developed. The tool is explained in detail in Frederik Petersens Thesis (see https://bscw.informatik.kit.edu/bscw/bscw.cgi/1652902?op=preview&back_url=1652896).

The tool is included in the Vitruvius SVN repo at https://svnserver.informatik.kit.edu/i43/svn/code/Vitruvius/trunk/:

  • edu.kit.ipd.sdq.vitruvius.codeintegration.scmchanges/
  • edu.kit.ipd.sdq.vitruvius.codeintegration.scmchanges.tests/
  • edu.kit.ipd.sdq.vitruvius.codeintegration.scmchanges.ui/

When these 3 Eclipse plugins are activated, a new menu entry (Vitruvius->Replay SCM Changes) is available, when right-clicking on a project. The project needs to be contained in a Git repository, from which versioning information will be queried.

The tool also uses GumTree[1], which can perform differencing on Abstract Syntax Tree level. We extended GumTree's Java Generator to include information that allows regenerating Java file content after applying single changes. The extension is available in the fork at [2].


[1] https://github.com/GumTreeDiff/gumtree

[2] https://github.com/FrederikP/gumtree