arXiv · 1309.3235
Transformations between Composite and Visitor implementations in Java
Abstract
Basic automated refactoring operations can be chained to perform complex structure transformations. This is useful for recovering the initial architecture of a source code which has been degenerated with successive evolutions during its maintenance lifetime. This is also useful for changing the structure of a program so that a maintenance task at hand becomes modular when it would be initially crosscutting. We focus on programs structured according to Composite and Visitor design patterns, which have dual properties with respect to modularity. We consider a refactoring-based round-trip transformation between these two structures and we study how that transformation is impacted by four variations in the implementation of these patterns. We validate that study by computing the smallest preconditions for the resulting transformations. We also automate the transformation and apply it to JHotDraw, where the studied variations occur.
Explore related subjects
Keep this discovery
Akram Ajouli, Julien Cohen, Jean-Claude Royer. 2013-09-12. Transformations between Composite and Visitor implementations in Java. https://arxiv.org/abs/1309.3235
Cite the original work for its findings. Save a collection to share your selection of sources.