Abstract
Automated maintenance of object-oriented software system designs via refactoring is a performance demanding combinatorial optimization problem. In this study, we made an empirical comparative study to see the performances of alternative search algorithms under a quality model defined by an aggregated software fitness metric. We handled 20 different refactoring actions that realize searches on design landscape defined by combination of 24 object-oriented software metrics. The investigated algorithms include random, steepest descent, multiple first descent, multiple steepest descent, simulated annealing and artificial bee colony searches. The study is realized by using a tool called A-CMA developed in Java that accepts bytecode compiled Java codes as its input. The empiricial study showed that multiple steepest descent and population-based artificial bee colony algorithms are two most suitable approaches for the efficient solution of the search based refactoring problem.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Harman, M.: The current state and future of search based software engineering. In: Proceedings of Future of Software Engineering, pp. 342–357. IEEE Press, Washington (2007)
Bouktif, S., Antoniol, G., Merlo, E., Neteler, M.: A novel approach to optimize clone refactoring activity. In: Proceedinds of GECCO 2006, vol. 2, pp. 1885–1892, Washington (2006)
O’Keeffe, M., Cinneide, M.O.: Search-based software maintenance. In: Proceedings of Conference on Software Maintenance and Reengineering (CSMR’06), pp. 249–260, Italy (2006)
Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: Proceedings of GECCO, vol. 2, pp. 1909–1916, Washington (2006)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addision Wesley, Massachusetts (1999)
Karaboga, D., Basturk, B.: A powerful and efficient algorithm for numerical function optimization: artificial bee colony algorithm. J. Glob. Opt. 39, 459–471 (2007)
Gelenbe, E., Kaptan V. Wang, Y.: Biological metaphors for agent behavior. In: LNCS- ISCIS, pp. 667?675 (2004)
OW2 Consortium, ASM, http://asm.ow2.org/
O’Keeffe, M., Cinneide, M.O.: Search based refactoring: an empirical study. J. Soft. Maint. Evol.: Res. Pract. 2, 345–364 (2008)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28, 4–17 (2002)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493 (1994)
SDMETRICS tool, http://www.sdmetrics.com/
Beaver—a LALR Parser Generator, http://beaver.sourceforge.net
The Mango Library, http://www.jezuk.co.uk/cgi-bin/view/mango
JFlex—The Fast Scanner Generator for Java, http://jflex.de/
Apache XML-RPC, http://ws.apache.org/xmlrpc/
JSON in Java, http://www.json.org/java/index.html
Pan, Q., Tasgetiren, M.F., Suganthan, P.N., Chua, T.J.: A discrete artificial bee colony algorithm for the lot-streaming flow shop scheduling problem. Inf. Sci. (2010, in Press)
Acknowledgements
The authors would like to thank Atilim University ARGEDA department for its financial support.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag London Limited
About this paper
Cite this paper
Koc, E., Ersoy, N., Andac, A., Camlidere, Z.S., Cereci, I., Kilic, H. (2011). An Empirical Study About Search-Based Refactoring Using Alternative Multiple and Population-Based Search Techniques. In: Gelenbe, E., Lent, R., Sakellari, G. (eds) Computer and Information Sciences II. Springer, London. https://doi.org/10.1007/978-1-4471-2155-8_7
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2155-8_7
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2154-1
Online ISBN: 978-1-4471-2155-8
eBook Packages: EngineeringEngineering (R0)