Skip to main content

An Empirical Study About Search-Based Refactoring Using Alternative Multiple and Population-Based Search Techniques

  • Conference paper
  • First Online:
Computer and Information Sciences II

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addision Wesley, Massachusetts (1999)

    Google Scholar 

  6. Karaboga, D., Basturk, B.: A powerful and efficient algorithm for numerical function optimization: artificial bee colony algorithm. J. Glob. Opt. 39, 459–471 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  7. Gelenbe, E., Kaptan V. Wang, Y.: Biological metaphors for agent behavior. In: LNCS- ISCIS, pp. 667?675 (2004)

    Google Scholar 

  8. OW2 Consortium, ASM, http://asm.ow2.org/

  9. O’Keeffe, M., Cinneide, M.O.: Search based refactoring: an empirical study. J. Soft. Maint. Evol.: Res. Pract. 2, 345–364 (2008)

    Google Scholar 

  10. Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28, 4–17 (2002)

    Article  Google Scholar 

  11. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493 (1994)

    Article  Google Scholar 

  12. SDMETRICS tool, http://www.sdmetrics.com/

  13. Beaver—a LALR Parser Generator, http://beaver.sourceforge.net

  14. The Mango Library, http://www.jezuk.co.uk/cgi-bin/view/mango

  15. JFlex—The Fast Scanner Generator for Java, http://jflex.de/

  16. Apache XML-RPC, http://ws.apache.org/xmlrpc/

  17. JSON in Java, http://www.json.org/java/index.html

  18. 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)

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank Atilim University ARGEDA department for its financial support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hurevren Kilic .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics