Iterative Development of Consistency-Preserving Rule-Based Refactorings (bibtex)
Reference:
Basil Becker, Leen Lambers, Johannes Dyck, Stefanie Birth, Holger Giese, "Iterative Development of Consistency-Preserving Rule-Based Refactorings", in Jordi Cabot, Eelco Visser, Eds., Theory and Practice of Model Transformations, Fourth International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings, vol. 6707 of Lecture Notes in Computer Science, pp. 123-137, Springer / Heidelberg, 2011.
Abstract:
A model refactoring does not only need to ensure behavior preservation. First of all, it needs to ensure that specific well-formedness constraints of the modeling language under consideration are preserved (consistency preservation). The consistency of model refactorings can be ensured by runtime checks. However, this means that not the developer of the refactorings but the user is confronted with the problem. In this paper we present an approach to statically check for consistency preservation of rule-based refactorings at design time. Thereby, refactoring rules describe which side-effects may take place on the model to be refactored. We formalize rule-based refactorings using graph transformation and consistency using graph constraints. We extend a verification technique capable of proving statically that refactoring rule applications preserve consistency. By automatically computing meaningful counterexamples, this technique allows for the iterative development of refactoring rules guaranteeing consistency preservation. We demonstrate the approach for common Java refactorings applied to a fine grained EMF model and can show that bugs that were present in refactorings of former Eclipse versions could have been avoided using our approach.
Links:
@InProceedings{BeckerLDBG2011,
AUTHOR = {Becker, Basil and Lambers, Leen and Dyck, Johannes and Birth, Stefanie and Giese, Holger},
TITLE = {{Iterative Development of Consistency-Preserving Rule-Based Refactorings}},
YEAR = {2011},
BOOKTITLE = {Theory and Practice of Model Transformations, Fourth International Conference, ICMT 2011, Zurich, Switzerland, June 27-28, 2011. Proceedings},
VOLUME = {6707},
PAGES = {123-137},
EDITOR = {Cabot, Jordi and Visser, Eelco},
SERIES = {Lecture Notes in Computer Science},
PUBLISHER = {Springer / Heidelberg},
URL = {http://www.springerlink.com/content/2u81033704112875/},
OPTacc_url = {},
PDF = {uploads/pdf/BeckerLDBG2011_fulltext.pdf},
OPTacc_pdf = {},
ABSTRACT = {

A model refactoring does not only need to ensure behavior preservation. First of all, it needs to ensure that specific well-formedness constraints of the modeling language under consideration are preserved (consistency preservation). The consistency of model refactorings can be ensured by runtime checks. However, this means that not the developer of the refactorings but the user is confronted with the problem.

In this paper we present an approach to statically check for consistency preservation of rule-based refactorings at design time. Thereby, refactoring rules describe which side-effects may take place on the model to be refactored. We formalize rule-based refactorings using graph transformation and consistency using graph constraints. We extend a verification technique capable of proving statically that refactoring rule applications preserve consistency. By automatically computing meaningful counterexamples, this technique allows for the iterative development of refactoring rules guaranteeing consistency preservation. We demonstrate the approach for common Java refactorings applied to a fine grained EMF model and can show that bugs that were present in refactorings of former Eclipse versions could have been avoided using our approach.
}
}
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
Powered by bibtexbrowser