A Method of Component Discovery in Cloud Migration

  • Jian-tao Zhou
  • Ting Wu
  • Yan Chen
  • Jun-feng ZhaoEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11242)


Cloud migration is an important means of software development on the cloud. The identification of reusable components of legacy systems directly determines the quality of cloud migration. The existed clustering algorithms do not consider the factor of relation types between classes, which affects the accuracy of clustering result. In this paper, the relation type information between classes is introduced in software clustering. Multi-objective genetic algorithm is used to cluster the module dependency graph with the relationship types (R-MDG). The experimental results show that the above method can effectively improve the quality of reusable components.


Reusable component Software clustering Relation type Genetic algorithm 



The authors wish to thank Natural Science Foundation of China under Grant No. 61462066, 61662054, Natural Science Foundation of Inner Mongolia under Grand No. 2015MS0608, Inner Mongolia Science and Technology Innovation Team of Cloud Computing and Software Engineering and Inner Mongolia Application Technology Research and Development Funding Project “Mutual Creation Service Platform Research and Development Based on Service Optimizing and Operation Integrating”. Inner Mongolia Engineering Lab of Cloud Computing and Service Software and Inner Mongolia Engineering Lab of Big Data Analysis Technology.


  1. 1.
    Ekabua, O.O., Isong, B.E.: On choosing program refactoring and slicing re-engineering practice towards software quality, April 2012Google Scholar
  2. 2.
    Masiero, P.C., Braga, R.T.V.: Legacy systems reengineering using software patterns. In: Proceedings of the XIX International Conference of the Chilean Computer Science Society, SCCC 1999, pp. 160–169 (1999)Google Scholar
  3. 3.
    Zheng, Y.L., Hu, H.P.: Making software using reusable component. Comput. Appl. 20(2), 35–38 (2000)Google Scholar
  4. 4.
    Jamshidi, P., Ahmad, A., Pahl, C.: Cloud migration research: a systematic review. IEEE Trans. Cloud Comput. 1(2), 142–157 (2014)CrossRefGoogle Scholar
  5. 5.
    Fowley, F., Elango, D.M., Magar, H., Pahl, C.: Software system migration to cloud-native architectures for SME-sized software vendors. In: Steffen, B., Baier, C., van den Brand, M., Eder, J., Hinchey, M., Margaria, T. (eds.) SOFSEM 2017. LNCS, vol. 10139, pp. 498–509. Springer, Cham (2017). Scholar
  6. 6.
    Zhao, J.F.: Research on component reuse of legacy system in cloud migration. PhD thesis, Inner Mongolia University (2015)Google Scholar
  7. 7.
    Wu, J., Hassan, A.E., Holt, R.C.: Comparison of clustering algorithms in the context of software evolution. In: IEEE International Conference on Software Maintenance, pp. 525–535 (2005)Google Scholar
  8. 8.
    Anquetil, N., Fourrier, C., Lethbridge, T.C.: Experiments with clustering as a software remodularization method. In: Proceedings of the Sixth Working Conference on Reverse Engineering, pp. 235–255 (1999)Google Scholar
  9. 9.
    Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759–780 (2007)CrossRefGoogle Scholar
  10. 10.
    Kumari, A.C., Srinivas, K.: Hyper-heuristic approach for multi-objective software module clustering. J. Syst. Softw. 117, 384–401 (2016)CrossRefGoogle Scholar
  11. 11.
    Jeet, K., Dhir, R.: Software module clustering using hybrid socioevolutionary algorithms. 8, 43–53 (2016)Google Scholar
  12. 12.
    Zhong, L., Xue, L., Zhang, N., Xia, J., Chen, J.: A tool to support software clustering using the software evolution information. In: IEEE International Conference on Software Engineering and Service Science, pp. 304–307 (2017)Google Scholar
  13. 13.
    Andritsos, P., Tzerpos, V.: Information-theoretic software clustering. IEEE Trans. Softw. Eng. 31(2), 150–165 (2005)CrossRefGoogle Scholar
  14. 14.
    Wang, Y., Liu, P., Guo, H., Han, L., Chen, X.: Improved hierarchical clustering algorithm for software architecture recovery, 247–250 (2010)Google Scholar
  15. 15.
    Doval, D., Mancoridis, S., Mitchell, B.S.: Automatic clustering of software systems using a genetic algorithm. In: Software Technology and Engineering Practice, p. 73 (1999)Google Scholar
  16. 16.
    Praditwong, K., Harman, M., Yao, X.: Software module clustering as a multi-objective search problem. IEEE Trans. Softw. Eng. 37(2), 264–282 (2010)CrossRefGoogle Scholar
  17. 17.
  18. 18.
    Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R.: Bunch: a clustering tool for the recovery and maintenance of software system structures. In: IEEE International Conference on Software Maintenance, pp. 50–59 (1999)Google Scholar
  19. 19.
    Jingbo, X.I.A., Zekun, W.E.I., Kai, F.U., Zhen, C.H.E.N.: Review of research and application on hadoop in cloud computing. Comput. Sci. 43(11), 6–11 (2016)Google Scholar
  20. 20.
    The graphml file format.
  21. 21.
    Tzerpos, V., Holt, R.C.: MoJo: a distance metric for software clusterings. In: Working Conference on Reverse Engineering, p. 187 (1999)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Jian-tao Zhou
    • 1
  • Ting Wu
    • 1
  • Yan Chen
    • 1
  • Jun-feng Zhao
    • 1
    Email author
  1. 1.College of Computer ScienceInner Mongolia UniversityHohhotChina

Personalised recommendations