Advertisement

Automated Software Engineering

, Volume 25, Issue 2, pp 195–200 | Cite as

Exact search-space size for the refactoring scheduling problem

  • Rodrigo Morales
  • Francisco Chicano
  • Foutse Khomh
  • Giuliano Antoniol
Article

Abstract

Ouni et al. “Maintainability defects detection and correction: a multi-objective approach” proposed a search-based approach for generating optimal refactoring sequences. They estimated the size of the search space for the refactoring scheduling problem using a formulation that is incorrect; the search space is estimated to be too much larger than it is. We provide in this paper the exact expression for computing the number of possible refactoring sequences of a software system. This could be useful for researchers and practitioners interested in developing new approaches to automate refactoring.

Keywords

Software maintenance Search-based software engineering Refactoring 

Notes

Acknowledgements

This work has been supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) and Consejo Nacional de Ciencia y Tecnologia, México (CONACyT).

References

  1. Bois, B.D., Demeyer, S., Verelst, J., Mens, T., Temmerman, M.: Does god class decomposition affect comprehensibility? In: IASTED Conference on Software Engineering, pp. 346–355 (2006)Google Scholar
  2. Fowler, M.: Refactoring: Improving the Design of Existing Code. Pearson Education India, New Delhi (1999)zbMATHGoogle Scholar
  3. Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation. ACM, pp. 1106–1113 (2007)Google Scholar
  4. Moghadam, I.H., Cinneide, M.O.: Code-imp: A tool for automated search-based refactoring. In: Proceedings of the 4th Workshop on Refactoring Tools. IEEE Computer Society, pp. 41–44 (2011)Google Scholar
  5. Morales, R., Sabane, A., Musavi, P., Khomh, F., Chicano, F., Antoniol, G.: Finding the best compromise between design quality and testing effort during refactoring. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 24–35 (2016a)Google Scholar
  6. Morales, R., Soh, Z., Khomh, F., Antoniol, G., Chicano, F.: On the use of developers? Context for automatic refactoring of software anti-patterns. J. Syst. Softw. (2016b). doi: 10.1016/j.jss.2016.05.042
  7. O’Keeffe, M., Cinneide, M.O.: Search-based software maintenance. In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering, 2006. CSMR 2006, pp. 10–260 (2006)Google Scholar
  8. Opdyke, W.F.: Refactoring Object-Oriented Frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign (1992)Google Scholar
  9. Ouni, A., Kessentini, M., Sahraoui, H., Boukadoum, M.: Maintainability defects detection and correction: a multi-objective approach. Autom. Softw. Eng. 20(1), 47–79 (2013)CrossRefGoogle Scholar
  10. Ouni, A., Kessentini, M., Sahraoui, H., Hamdi, M.S.: Search-based refactoring: towards semantics preservation. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM). IEEE, pp. 347–356 (2012)Google Scholar
  11. Ouni, A., Kessentini, M., Sahraoui, H., Inoue, K., Hamdi, M.S.: Improving multi-objective code-smells correction using development history. J. Syst. Softw. 105, 18–39 (2015)CrossRefGoogle Scholar
  12. Ramanujan, S.: Notebooks (2 volumes). Tata Inst. Fundam. Res Bombay 27(96), 816–3236 (1957)Google Scholar
  13. The on-line encyclopedia of integer sequences, sequence no. A000522. http://oeis.org/A000522. Accessed 16 Jan 2017
  14. van Rompaey, B., Du Bois, B., Demeyer, S., Pleunis, J., Putman, R., Meijfroidt, K., Dueas, J.C., Garcia, B.: Serious: Software evolution, refactoring, improvement of operational and usable systems. In: 13th European Conference on Software Maintenance and Reengineering, 2009. CSMR’09, pp. 277–280 (2009)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.DGIGLPolytechnique MontréalMontrealCanada
  2. 2.Dept. de Lenguajes y Ciencias de la ComputaciónUniversidad de Málaga, Andalucía TechMálagaSpain

Personalised recommendations