Motivation
Refactoring has emerged as a successful technique to enhance the internal structure of software by a series of small, behaviour-preserving transformations [4]. However, due to complex dependencies and conflicts between the individual refactorings, it is difficult to choose the best sequence of refactoring steps in order to effect a specific improvement. In the case of large systems the situation becomes acute because existing tools offer only limited support for their automated application [8]. Therefore, search-based approaches have been suggested in order to provide automation in discovering appropriate refactoring sequences [6,11]. The idea is to see the design process as a combinatorial optimization problem, attempting to derive the best solution (with respect to a quality measure called objective function) from a given initial design [9].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Dorigo, M., Stützle, T.: Ant Colony Optimization. MIT Press, Cambridge (2004)
Baldan, P., Corradini, A., König, B.: A static analysis technique for graph transformation systems. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 381–395. Springer, Heidelberg (2001)
Baldan, P., Corradini, A., Montanari, U.: Unfolding and event structure semantics for graph grammars. In: Thomas, W. (ed.) FOSSACS 1999. LNCS, vol. 1578, pp. 73–89. Springer, Heidelberg (1999)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)
Gambardella, L.M., Dorigo, M.: Has-sop: Hybrid ant system for the sequential ordering problem (1997)
Harman, M., Ph, U., Jones, B.F.: Search-based software engineering. Information and Software Technology 43, 833–839 (2001)
König, B., Kozioura, V.: Augur 2—a new version of a tool for the analysis of graph transformation systems. In: Proc. of GT-VMT 2006 (Workshop on Graph Transformation and Visual Modeling Techniques). ENTCS, vol. 211, pp. 201–210. Elsevier, Amsterdam (2006)
Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and System Modeling 6(3), 269–285 (2007)
O’Keeffe, M., Cinnéide, M.O.: A stochastic approach to automated design improvement. In: PPPJ 2003: Proceedings of the 2nd International Conference on Principles and Practice of Programming in Java, pp. 59–62. Computer Science Press, Inc., New York (2003)
O’Keeffe, M., Cinnéide, M.O.: Search-based refactoring: an empirical study. J. Softw. Maint. E 20(5), 345–364 (2008)
Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: GECCO 2006: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, pp. 1909–1916. ACM, New York (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Qayum, F. (2010). Automated Assistance for Search-Based Refactoring Using Unfolding of Graph Transformation Systems. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds) Graph Transformations. ICGT 2010. Lecture Notes in Computer Science, vol 6372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15928-2_34
Download citation
DOI: https://doi.org/10.1007/978-3-642-15928-2_34
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15927-5
Online ISBN: 978-3-642-15928-2
eBook Packages: Computer ScienceComputer Science (R0)