An Approach to Similar Software Projects Searching and Architecture Analysis Based on Artificial Intelligence Methods

  • Yarushkina Nadezhda
  • Guskov GlebEmail author
  • Dudarin Pavel
  • Stuchebnikov Vladimir
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 874)


Software engineers from all over the world solve independently a lot of similar problems. In this condition the problem of architecture reusing becomes an issue of the day. In this paper, two phase approach to determining software projects with necessary functionality and reusable architecture is proposed. This approach combines two methods of artificial intelligence: natural language clustering technique and a novel method for comparing software projects based on the ontological representation of their architecture automatically obtained from the projects source code. There are 3 metrics presented in this article that allow us to determine the measure of the relevance of the selected projects based on projects architecture indices.


Ontology Conceptual model Natural language processing Engineering design Fuzzy hierarchical classifier Clustering Characteristic feature tree Feature construction 



This study was supported Ministry of Education and Science of Russia in framework of project 2.1182.2017/4.6 and Russian Foundation of base Research in framework of project 16-47-732120 r_ofi_m.


  1. 1.
    Han, X., Ma, J., Wu, Y., Cui, C.: A novel machine learning approach to rank web forum posts. Soft Comput. 18(5), 941–959 (2014)CrossRefGoogle Scholar
  2. 2.
    Le, Q., Mikolov, T.: Distributed representations of sentences and documents. In: Proceedings of the 31st International Conference on Machine Learning, PMLR, vol. 32, no. 2, pp. 1188–1196 (2014)Google Scholar
  3. 3.
    Kutuzov, A., Kuzmenko, E.: WebVectors: a toolkit for building web interfaces for vector semantic models. In: Proceedings International Conference on Analysis of Images, Social Networks and Texts (AIST 2016), Moskow, Russian Federation, 27–29 July 2017, vol. 661, pp 155–161. Springer, Cham (2016)Google Scholar
  4. 4.
    Pelevina, M., Arefyev, N., Biemann, C., Panchenko, A.: Making sense of word embeddings. In: Proceedings of the 1st Workshop on Representation Learning for NLP Co-located with the ACL Conference, Berlin, Germany, 10 August 2017. arXiv:1708.03390
  5. 5.
    Dudarin, P.V., Yarushkina, N.G.: An approach to fuzzy hierarchical clustering of short text fragments based on fuzzy graph clustering. In: Proceedings of the Second International Scientific Conference Intelligent Information Technologies for Industry (IITI 2017). Advances in Intelligent Systems and Computing, vol 679. Springer, Cham (2018)Google Scholar
  6. 6.
    Zhang, T., Ramakrishnan, R., Livny, M.: BIRCH: an efficient data clustering method for very large databases. In: Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data - SIGMOD 1996, pp. 103–114 (1996).
  7. 7.
    Dudarin, P.V., Yarushkina, N.G.: Algorithm for constructing a hierarchical classifier of short text fragments based on the clustering of a fuzzy graph. Radio Eng. 2017(6), 114–121 (2017)Google Scholar
  8. 8.
    Dudarin, P., Yarushkina, N.: Features construction from hierarchical classifier for short text fragments clustering. Fuzzy Syst. Soft Comput. 12, 87–96 (2018). Scholar
  9. 9.
    Guskov, G., Namestnikov, A., Yarushkina, N.: Approach to the search for similar software projects based on the UML ontology. In: Proceedings of the Second International Scientific Conference Intelligent Information Technologies for Industry (IITI 2017), Varna, Bulgaria, 14–16 September 2017, vol. 680, pp. 3–10. Springer, Cham (2017)Google Scholar
  10. 10.
    Namestnikov, A., Guskov, G.: Ontological mapping for conceptual models of software system. In: Proceedings of Conference Open Semantic Technologies for Intelligent Systems, Minsk, Republic of Belarus, 16–18 February 2017, pp. 111–116 (2017)Google Scholar
  11. 11.
    Hossein, S., Sartipi, K.: Dynamic analysis of software systems using execution pattern mining. In: Proceedings 14th IEEE International Conference on Program Comprehension, ICPC, Athens, Greece, 14–16 June 2006, pp. 84–88. IEEE Computer Society (2006)Google Scholar
  12. 12.
    Zedlitz, J., Jorke, J., Luttenberger, N.: From UML to OWL 2. In: Proceedings of Third Knowledge Technology Week (KTW 2011), Kajang, Malaysia, 18–22 July 2011, vol. 295, pp. 154–163. Springer, Heidelberg (2011)Google Scholar
  13. 13.
    Bobillo, F., Straccia, U.: Representing fuzzy ontologies in OWL 2. In: Proceedings International Conference on Fuzzy Systems, Barcelona, Spain, 18–23 July 2010, pp. 2695–2700 (2010)Google Scholar
  14. 14.
    Wongthongtham, P., Pakdeetrakulwong, U., Marzooq, S.: Ontology annotation for software engineering project management in multisite distributed software development environments. In: Mahmood, Z. (ed.) Software Project Management for Distributed Computing, pp. 315–343. Springer, Cham (2017). ISBN 978-3-319-54325-3Google Scholar
  15. 15.
    Emdad, A.: Use of ontologies in software engineering. In: Proceedings of 17th International Conference on Software Engineering and Data Engineering, Los Angeles, California, USA, 30 June–2 July 2008, pp. 145–150 (2008)Google Scholar
  16. 16.
    Grishina, E., Wagenknecht, M., Yazenin, A.: On some models and methods of investment portfolio optimization by hybrid uncertainty. In: 19th Zittau Fuzzy Colloquium, Proceedings of East West Fuzzy Colloquium 2012 , Zittau, Germany, pp. 80–87 (2012)Google Scholar
  17. 17.
    Petrovsky, A., Royzenson, G.: Multi-stage technique PAKS for multiple criteria decision aiding. Int. J. Inf. Technol. Decis. Making 12(5), 1055–1071 (2013)CrossRefGoogle Scholar
  18. 18.
    Monroy-Tenorio, F., Batyrshin, I., Gelbukh, A., Rudas, I.: Correlation measures for bipolar rating profiles. Advances in Intelligent Systems and Computing (2018).
  19. 19.
    Rosenfeld, A.: Fuzzy graphs. In: Zadeh, L.A., Fu, K.S., Tanaka, K., Shimura, M. (eds.) Fuzzy Sets and Their Applications to Cognitive and Decision Processes, pp. 77–95. Academic Press, New York (1975)Google Scholar
  20. 20.
    Ruspini, E.H.: A new approach to clustering. Inf. Control 15(1), 22–32 (1969)CrossRefGoogle Scholar
  21. 21.
    Yeh, R.T., Bang, S.Y.: Fuzzy relation, fuzzy graphs and their applications to clustering analysis. In: Fuzzy Sets and their Applications to Cognitive and Decision Processes, pp. 125–149. Academic Press (1975). ISBN 9780127752600Google Scholar
  22. 22.
    Ester, M., Kriegel, H.P., Sander, J., Xu, X.: A density-based algorithm for discovering clusters in large spatial databases with noise. In: Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, pp. 226–231. AAAI Press (1996)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Yarushkina Nadezhda
    • 1
  • Guskov Gleb
    • 1
    Email author
  • Dudarin Pavel
    • 1
  • Stuchebnikov Vladimir
    • 1
  1. 1.Ulyanovsk State Technical UniversityUlyanovkskRussian Federation

Personalised recommendations