ChangeDistiller - Source code change extraction using AST differencing

The ChangeDistiller is an Eclipse Plugin to extract source code changes based on tree differencing. Subsequent abstract syntax tree revisions of Java files are converted into generic tree data structures and compared to compute the basic tree edit operations that transform an original into a modified tree. The tree edit operations and the source code information from the AST are used to classify the source code changes according to our taxonomy of source code changes.

ChangeDistiller is part of Evolizer which is available under Apache license 2.0: A more recent, stand-alone version can be found on

Related Publications

Beat Fluri, Michael Würsch, Martin Pinzger, and Harald C. Gall. Change distilling: Tree differencing for fine-grained source code change extraction. IEEE Transactions on Software Engineering (TSE), vol. 33, no. 11, pp. 725-743, November 2007.

Beat Fluri, Michael Würsch, and Harald C. Gall. Do Code and Comments Co-Evolve? On the Relation Between Source Code and Comment Changes. In Proceedings of the IEEE Working Conference on Reverse Engineering (WCRE), October 2007.

Beat Fluri and Harald C. Gall. Classifying Change Types for Qualifying Change Couplings. In Proceedings of the IEEE International Conference on Program Comprehension (ICPC), pages 35-45, June 2006.