Ontologies-Based Process in Software Reengineering

  • Moussa Saker
  • Nora Bounour
Conference paper
Part of the Lecture Notes in Networks and Systems book series (LNNS, volume 64)


Since the emergence of term “Ontology” in the philosophical sphere, its application is widespread in multiplicity of research fields. In software engineering ontologies were adopted more than two decades ago, including requirements analysis, specification and design phases. Unfortunately, this vivacity and richness in software engineering is not the same in software reengineering where there is a lack of interest from the research community. In this paper, we present a survey about the most significant works regarding the use of ontologies in software reengineering process according to two perspectives: as software artefacts and as domain knowledge. Through our study, we highlight some of produced tools and frameworks in addition to open challenges in the field.


Ontology Software reengineering Software understanding Software maintenance Software quality Software test 


  1. 1.
    Gruber, Thomas R.: Toward principles for the design of ontologies used for knowledge sharing. Int. J. Hum. Comput. Stud. 43(5), 907–928 (1995)CrossRefGoogle Scholar
  2. 2.
    Guarino, N. ed.: Formal ontology in information systems. In: Proceedings of the first international conference on formal ontology and information systems (FOIS’98). IOS press. Trento, Italy, vol. 46, no. 1998. pp. 81–97 (1998)Google Scholar
  3. 3.
    Kitchenham, B.A., Travassos, G.H., Von Mayrhauser, A., Niessink, F., Schneidewind, N.F., Singer, J., Takada, S., Vehvilainen, R., Yang, H.: Towards an ontology of software maintenance. J. Softw. Maint. 11(6), 365–389 (1999)CrossRefGoogle Scholar
  4. 4.
    Nonnenmann, U., Eddy, J.K.: KITSS-A functional software testing system using a hybrid domain model. In: Proceedings of the Eighth Conference on Artificial Intelligence for Applications, 1992, pp. 136–142. IEEE (1992)Google Scholar
  5. 5.
    Anquetil, N., de Oliveira, K.M., Dias, M.G.: Software Maintenance Ontology. In Ontologies for Software Engineering and Software Technology, pp. 153–173. Springer, Berlin (2006)CrossRefGoogle Scholar
  6. 6.
    Devanbu, P.T., Selfridge, P.G., Ballard, B.W., Brachman, R.J.: A knowledge-based software information system. In: Proceeding of International Joint Conference on Artificial Intelligence (IJCAI), vol. 89. pp. 110–115 (1989)Google Scholar
  7. 7.
    Selfridge, P.G.: Knowledge representation support for a software information system. In: Proceedings, Seventh IEEE Conference on Artificial Intelligence Applications, 1991, Vol. 1, pp. 134–140. IEEE (1991)Google Scholar
  8. 8.
    Yang, H., Cui, Z., O’Brien, P.: Extracting ontologies from legacy systems for understanding and re-engineering. In: Proceedings of the Computer Software and Applications Conference, COMPSAC’99, pp. 21–26. The Twenty-Third Annual International, IEEE (1999)Google Scholar
  9. 9.
    Hwang, S.H., Kim, H.G., Yang, H.S.: A FCA-based ontology construction for the design of class hierarchy. In: Gervasi O. et al. (eds.) Computational Science and Its Applications (ICCSA). Lecture notes in computer science, vol. 3482, pp. 827–835. Springer Berlin (2005)CrossRefGoogle Scholar
  10. 10.
    Zhang, Y., Witte, R., Rilling, J., Haarslev, V.: Ontological approach for the semantic recovery of traceability links between software artefacts. IET Softw. 2(3), 185–203 (2008)CrossRefGoogle Scholar
  11. 11.
    Rilling, J., Zhang, Y., Meng, W.J., Witte, R., Haarslev, V., Charland, P.: A unified ontology-based process model for software maintenance and comprehension.In: Dingel, J., Solberg A. (eds.): Models in Software Engineering. Lecture Notes in Computer Science, vol. 4364, pp. 56–65. Springer, Berlin (2007)Google Scholar
  12. 12.
    Cunningham, H., Maynard, D., Bontcheva, K., Tablan, V.: GATE: a framework and graphical development environment for robust NLP tools and applications. In: Proceeding of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL). Philadelphia, USA, pp. 168–175 (2002)Google Scholar
  13. 13.
    López, C., Codocedo, V., Astudillo, H., Cysneiros, L.M.: Bridging the gap between software architecture rationale formalisms and actual architecture documents: an ontology-driven approach. Sci. Comput. Program. 77(1), 66–80 (2012)CrossRefGoogle Scholar
  14. 14.
    Souza, E.F., Falbo, R.A., Vijaykumar, N.L.: Using ontology patterns for building a reference software testing ontology. In: 2013 17th IEEE International Enterprise Distributed Object Computing Conference Workshops, pp. 21–30. IEEE (2013)Google Scholar
  15. 15.
    Li, H., Chen, F., Yang, H., Guo, H., Chu, W.C.C., Yang, Y.: An ontology-based approach for GUI testing. In: 2009 33rd Annual International Computer Software IEEE and Applications Conference, vol. 1, pp. 632–633. IEEE (2009)Google Scholar
  16. 16.
    Ruiz, F., Vizcaíno, A., Piattini, M., García, F.: An ontology for the management of software maintenance projects. Int. J. Softw. Eng. Knowl. Eng. 14(03), 323–349 (2004)CrossRefGoogle Scholar
  17. 17.
    Ruiz, F., Garcia, F., Piattini, M., Polo, M.: Environment for managing software maintenance projects. In: Advances in Software Maintenance Management: Technologies and Solutions. Idea Group Publication, USA, pp. 255–290 (2002)Google Scholar
  18. 18.
    Deridder, D.A.: A concept-oriented approach to support software maintenance and reuse activities. In: Proceedings of the 5th Joint Conference on Knowledge Based Software Engineering. IOS press (2002)Google Scholar
  19. 19.
    Wuyts, R.: A logic meta-programming approach to support the co-evolution of object-oriented design and implementation. Doctoral dissertation, Vrije Universiteit Brussel (2001)Google Scholar
  20. 20.
    Boehm, B., In, H.: Identifying quality requirement conflicts. IEEE Softw. 13(2), 25–35 (1996)CrossRefGoogle Scholar
  21. 21.
    Kayed, A., Hirzalla, N., Samhan, A.A., Alfayoumi, M.: Towards an ontology for software product quality attributes. In: Fourth International Conference on Internet and Web Applications and Services, ICIW’09, pp. 200–204. IEEE (2009)Google Scholar
  22. 22.
    Da Silva, J.P.S., DallOglio, P., Pinto, S.C.C.D.S., Bittencourt, I.I., Mergen, S.L.S.: OntoQAI: an ontology to support quality assurance inspections. In: Brazilian Symposium on Software Engineering (SBES), pp. 11–20. IEEE (2015)Google Scholar
  23. 23.
    Prud, E., Seaborne, A.: Sparql query language for rdf.
  24. 24.
    Ruiz, F., Genero, M., García, F., Piattini, M., Calero, C.: A proposal of a software measurement ontology. Department of Computer Science University of Castilla-La Mancha (2003)Google Scholar
  25. 25.
    Terkaj, W., Urgo, M.: Ontology-based modeling of production systems for design and performance evaluation. In: 2014 12th IEEE International Conference on Industrial Informatics (INDIN), pp. 748–753. IEEE (2014)Google Scholar
  26. 26.
    Witte, R., Zhang, Y., Rilling, J.: Empowering software maintainers with semantic web technologies. In: The Semantic Web: Research and Applications. Lecture Notes in Computer Science, vol. 4519, pp. 37–52. Springer, Berlin (2007)Google Scholar
  27. 27.
    Jin, D., Cordy, J.R.: Ontology-based software analysis and reengineering tool integration: The OASIS service-sharing methodology. In: 21st IEEE International Conference on Software Maintenance (ICSM’05), pp. 613–616. IEEE (2005)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.LISCO LaboratoryBadji Mokhtar-Annaba UniversityAnnabaAlgeria

Personalised recommendations