World Scientific
  • Search
  •   
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×

System Upgrade on Tue, May 28th, 2024 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at [email protected] for any enquiries.

Alternatives to the Knowledge Discovery Metamodel: An Investigation

    https://doi.org/10.1142/S0218194017500413Cited by:2 (Source: Crossref)

    To better understand and exploit the knowledge necessary to comprehend and evolve an existing system, different models can be extracted from it. Models represent the extracted information at various abstraction levels, and are useful to document, maintain, and reengineer the system. The Knowledge Discovery Metamodel (KDM) has been defined by the object management group as a meta-model supporting a large share of reverse engineering activities. Its specification has also been adopted by the ISO in 2012. This paper explores and describes alternative meta-models proposed in the literature to support reverse engineering, program comprehension, and software evolution activities. We focus on the similarity and differences of the alternative meta-models with KDM, trying to understand the potentials of reciprocal information interchange. We describe KDM and other five meta-models, plus their extensions available in the literature and their diffusion in the reverse engineering community. We also investigate the approaches using KDM and the five meta-models. In the paper, we underline the limited reuse of models for reverse engineering, and identify potential directions for future related research, to enhance the existing models and ease the exchange of information among them.

    References

    • 1. MSR 2015: Proc. 12th IEEE/ACM Working Conf. on Mining Software Repositories, Florence, Italy, May 2015, IEEE. Google Scholar
    • 2. R. Al-Ekram and K. Kontogiannis, An XML-based framework for language neutral program representation and generic analysis, in Ninth European Conf. Software Maintenance and Reeng. (CSMR 2005), 2005, pp. 42–51. Google Scholar
    • 3. D. A. Bensaber, D. Benslimane and M. Malki, A reverse engineering approach for specifying semantic web service with respect to MDA, Int. Rev. Comput. Softw. 2 (6) (2007) 581–593. Google Scholar
    • 4. F. Arcelli Fontana, A. Caracciolo and M. Zanoni, DPB: A benchmark for design pattern detection tools, in Proc. 16th European Conf. Software Maintenance and Reeng. (CSMR 2012), 2012, pp. 235–244. Google Scholar
    • 5. F. Arcelli Fontana and S. Maggioni, Metrics and antipatterns for software quality evaluation, in Proc. 34th IEEE Software Engineering Workshop (SEW 2011), 2011, pp. 48–56. Google Scholar
    • 6. F. Arcelli Fontana, S. Maggioni and C. Raibulet, Design patterns: A survey on their micro-structures, J. Softw., Evol. Proc. 25 (1) (2011) 27–52. Crossref, Web of ScienceGoogle Scholar
    • 7. F. Arcelli Fontana and M. Zanoni, A tool for design pattern detection and software architecture reconstruction, Inf. Sci. 181 (7) (2011) 1306–1324. Crossref, Web of ScienceGoogle Scholar
    • 8. F. Arcelli Fontana, M. Zanoni and S. Maggioni, Using design pattern clues to improve the precision of design pattern detection tools, J. Object Technol. 10 (2011) 1–31. CrossrefGoogle Scholar
    • 9. F. Arcelli Fontana, M. Zanoni, R. Porrini and M. Vivanti, A model proposal for program comprehension, in Proc. 16th Int. Conf. Distributed Multimedia Systems (DMS 2010), 2010, pp. 23–28. Google Scholar
    • 10. T. Bakota, Á. Beszédes, R. Ferenć and T. Gyimóthy, Continuous software quality supervision using sourceinventory and columbus, in Companion of the 30th Int. Conf. Software Eng. (ICSE Companion ’08), 2008, pp. 931–932. Google Scholar
    • 11. G. Barbier, H. Bruneliere, F. Jouault, Y. Lennon and F. Madiot, Chapter 14 - MoDisco, a model-driven platform to support real legacy modernization use cases, in Information Systems Transformation: Architecture-Driven Modernization Case Studies, The Morgan Kaufmann/OMG Press, 2010, pp. 365–400. CrossrefGoogle Scholar
    • 12. L. Baresi and M. Miraz, A component-oriented metamodel for the modernization of software applications, in Proc. 16th IEEE Int. Conf. Eng. Complex Computer Systems (ICECCS 2011), 2011, pp. 179–187. Google Scholar
    • 13. G. E. Boussaidi, A. B. Belle, S. Vaucher and H. Mili, Reconstructing architectural views from legacy systems, in Proc. 19th Working Conf. Reverse Eng. (WCRE 2012), 2012, pp. 345–354. Google Scholar
    • 14. H. Bruneliere, J. Cabot and G. Dupé, How to deal with your it legacy: What is coming up in MoDisco? ERCIM News 88 (2012) 43–44, Special theme: Evolving Software. Google Scholar
    • 15. H. Bruneliére, J. Cabot, G. Dupé and F. Madiot, MoDisco: A model driven reverse engineering framework, Inf. Softw. Technol. 56 (8) (2014) 1012–1032. Crossref, Web of ScienceGoogle Scholar
    • 16. A. Brühlmann, T. Gîrba, O. Greevy and O. Nierstrasz, Enriching reverse engineering with annotations, in Model Driven Eng. Languages and Systems, eds. K. Czarnecki, I. Ober, J.-M. Bruel, A. Uhl and M. Völter (Springer, Berlin, Heidelberg, 2008), pp. 660–674. CrossrefGoogle Scholar
    • 17. E. J. Chikofsky and J. H. Cross II, Reverse engineering and design recovery: A taxonomy, IEEE Softw. 7 (1) (1990) 13–17. Crossref, Web of ScienceGoogle Scholar
    • 18. J. C. Izquierdo and J. G. Molina, Extracting models from source code in software modernization, Softw. Syst. Model. 13 (2) (2014) 713–734. Crossref, Web of ScienceGoogle Scholar
    • 19. S. Denier and M. Lungu (eds.), FAMOOSr 2010 4th Workshop on FAMIX and MOOSE in Software Reengineering, Timisoara, Romania, September 2010, self-published. Co-located with ICSM 2010. Google Scholar
    • 20. S. Ducasse, N. Anquetil, M. U. Bhatti, A. C. Hora, J. Laval and T. Girba, MSE and FAMIX 3.0: An interexchange format and source code model family, Research report, INRIA, November 2011. Google Scholar
    • 21. G. Dupe and H. Bruneliere, MoDisco, 2012, http://www.eclipse.org/MoDisco/. Google Scholar
    • 22. O. El Beggar, B. Bousetta and T. Gadi, Comparative study between clustering and model driven reverse engineering approaches, Lect. Not. Softw. Eng. 1 (2) (2013) 135–140. Google Scholar
    • 23. L. Favre, Formalizing MDA-based reverse engineering processes, in Proc. 6th ACIS Int. Conf. Software Engineering Research, Management and Applications (SERA 2008), 2008, pp. 153–160. Google Scholar
    • 24. R. Ferenc and Á. Beszédes, Data exchange with the Columbus schema for C++, in Proc. Sixth European Conf. Software Maintenance and Reengineering (CSMR 2002), 2002, pp. 59–66. Google Scholar
    • 25. R. Ferenc, Á. Beszédes, M. Tarkiainen and T. Gyimóthy, Columbus — reverse engineering tool and schema for C++, in Proc. Int. Conf. Software Maintenance (ICSM ’02), 2002, pp. 172–181. Google Scholar
    • 26. J. (Yossi) Gil and I. Maman, Micro patterns in java code, in Proc. 20th Annual ACM SIGPLAN Int. Conf. Object Oriented Programming, Systems, Languages, and Applications (OOPSLA ’05), 2005, pp. 97–116. Google Scholar
    • 27. O. Greevy, Dynamix — a meta-model to support feature-centric analysis, in Proc. 1st Workshop on FAMIX and MOOSE in Reengineering, FAMOOSr 2007, Zurich, Switzerland, June 2007, Software Composition Group. Co-located with TOOLS Europe 2007. Google Scholar
    • 28. O. Greevy, Enriching Reverse Engineering with Feature Analysis, PhD thesis, University of Bern, May 2007. Google Scholar
    • 29. Y.-G. Guéhéneuc, Ptidej: Promoting patterns with patterns, in Proc. 1st ECOOP Workshop on Building a System Using Patterns (BSUP), Glasgow, UK, July 2005. Google Scholar
    • 30. Y.-G. Guéhéneuc and G. Antoniol, DeMIMA: A multilayered approach for design pattern identification, IEEE Trans. Software Eng. 34 (5) (2008) 667–684. Crossref, Web of ScienceGoogle Scholar
    • 31. T. Gîrba and S. Ducasse, Modeling history to analyze software evolution, J. Softw. Maintenance Evol. Res. Pract. 18 (3) (2006) 207–236. CrossrefGoogle Scholar
    • 32. R. C. Holt, A. E. Hasan, B. Laguë, S. Lapierre and C. Leduc, E/R schema for the Datrix C/C++/Java exchange format, in Proc. 7th Working Conf. Reverse Eng. (WCRE ’00), 2000, pp. 284–286. Google Scholar
    • 33. R. C. Holt, A. Winter and A. Schurr, GXL: Toward a standard exchange format, in Proc. 7th Working Conf. Reverse Eng., 2000, pp. 162–171. Google Scholar
    • 34. R. C. Hull and A. Winter, A short introduction to the gxl software exchange format, in Proc. 7th Working Conf. Reverse Eng., 2000, pp. 299–301. Google Scholar
    • 35. KDM Analytics, KDM 1.0 annotated reference, 2010. http://kdmanalytics.com/kdmspec/index.php. Google Scholar
    • 36. A. Kuhn and T. Verwaest, FAME, a polyglot library for metamodeling at runtime, in Proc. 3rd Workshop [email protected] (MRT 2008), 2008, pp. 57–66. In conjunction with MODELS 2008. Google Scholar
    • 37. M. Lanza, S. Ducasse, H. Gall and M. Pinzger, Codecrawler: An information visualization tool for program comprehension, in Proc. 27th Int. Conf. on Software Eng. (ICSE ’05), 2005, pp. 672–673. Google Scholar
    • 38. M. Lenk, A. Vitzthum and B. Jung, Model-driven iterative development of 3d web-applications using ssiml, x3d and javascript, in Proc. 17th Intl Conf. on 3D Web Technology (Web3D ’12), 2012, p. 161–169. Google Scholar
    • 39. T. C. Lethbridge, Report from the dagstuhl seminar on interoperability of reengineering tools, in Proc. 9th Int. Workshop Program Comprehension (IWPC 2001), 2011, pp. 119. Google Scholar
    • 40. T. C. Lethbridge, E. Plödereder, S. Tichelaar, C. Riva, P. Linos and S. Marchenko, The Dagstuhl Middle Model (DMM), 2002, http://www.site.uottawa.ca/∼tcl/dmm/DMMDescriptionV0006.pdf. Google Scholar
    • 41. T. C. Lethbridge, S. Tichelaar and E. Ploedereder, The Dagstuhl middle metamodel: A schema for reverse engineering, Electron. Notes Theor. Comput. Sci. 94 (2004) 7–18, Proc. Intl Workshop on Meta-Models and Schemas for Reverse Engineering (ateM 2003). Google Scholar
    • 42. J. A. McQuillan and J. F. Power, Experiences of using the Dagstuhl middle metamodel for defining software metrics, in Proc. 4th Int. Symp. Principles and Practice of Programming in Java (PPPJ ’06), 2006, pp. 194–198. Google Scholar
    • 43. P. M. Shahshahani, Extending the knowledge discovery metamodel to support aspect-oriented programming, Master’s thesis, Concordia University, Montreal, Canada, April 2011, http://spectrum.library.concordia.ca/7329/. Google Scholar
    • 44. N. Moha and Y.-G. Guéhéneuc, Decor: A tool for the detection of design defects, in Proc. 22nd IEEE/ACM Int. Conf. on Automated Software Engineering (ASE ’07), 2007, pp. 527–528. Google Scholar
    • 45. N. Moha and Y.-G. Guéhéneuc, PTIDEJ and DECOR: Identification of design patterns and design defects, in Companion to the 22nd ACM SIGPLAN Int. Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA ’07), 2007, pp. 868–869. Google Scholar
    • 46. P. Newcomb, Architecture-driven modernization (ADM), in Proc. 12th Working Conf. Reverse Eng. (WCRE ’05), 2005, p. 237. Google Scholar
    • 47. O. Nierstrasz, S. Ducasse and T. Gǐrba, The story of moose: An agile reengineering environment, in Proc. 10th European Software Engineering Conf., held jointly with 13th ACM SIGSOFT Int. Symp. Foundations of Software Engineering (ESEC/FSE-13), 2005, pp. 1–10. Google Scholar
    • 48. K. Normantas, S. Sosunovas and O. Vasilecas, An overview of the knowledge discovery meta-model, in Proc. 13th Int. Conf. Computer Systems and Technologies (CompSysTech ’12), 2012, pp. 52–57. Google Scholar
    • 49. K. Normantas and O. Vasilecas, Extracting business rules from existing enterprise software system, in Information and Software Technologies, Communications in Computer and Information Science, Vol. 319, eds. T. Skersys, R. Butleris and R. Butkiene (Springer, Berlin, Heidelberg, 2012), pp. 482–496. CrossrefGoogle Scholar
    • 50. Object Management Group, Inc., Meta Object Facility (MOF) core specification, January 2006, http://www.omg.org/spec/MOF/2.0/PDF/. Google Scholar
    • 51. Object Management Group, Inc., Architecture-driven modernization task force, 2012, http://adm.omg.org/. Google Scholar
    • 52. Object Management Group, Inc., Catalog of OMG modernization specifications, 2012, http://www.omg.org/technology/documents/modernization_spec_catalog.htm. Google Scholar
    • 53. Object Management Group, Inc., Knowledge discovery metamodel (KDM), 2012, http://www.omg.org/technology/kdm/index.htm. Google Scholar
    • 54. Object Management Group, Inc., Object management group, 2012, http://www.omg.org. Google Scholar
    • 55. R. Perez-Castillo, I. García-Rodríguez de Guzman and M. Piattini, On the use of ADM to contextualize data on legacy source code for software modernization, in Proc. 16th Working Conf. Reverse Eng. (WCRE ’09), 2009, pp. 128–132. Google Scholar
    • 56. R. Pérez-Castillo, I. García-Rodríguez de Guzmán, M. Piattini and B. Weber, Integrating event logs into KDM repositories, in Proc. 27th Annual ACM Symp. Applied Computing (SAC ’12), 2012, pp. 1095–1102. Google Scholar
    • 57. Ptidej Team, PADL, Web site, September 2014, http://wiki.ptidej.net/doku.php?id=padl. Google Scholar
    • 58. R. Pérez-Castillo, I. García-Rodrǵuez de Guzmán, I. Caballero and M. Piattini, Software modernization by recovering web services from legacy databases, J. Softw., Evol. Process 25 (5) (2013) 507–533. Crossref, Web of ScienceGoogle Scholar
    • 59. R. Pérez-Castillo, I. García-Rodríguez de Guzmán and M. Piattini, Knowledge discovery metamodel-ISO/IEC 19506: A standard to modernize legacy systems, Comput. Standards Interf. 33 (6) (2011) 519–532. Crossref, Web of ScienceGoogle Scholar
    • 60. S. Rugaber and K. Stirewalt, Model-driven reverse engineering, IEEE Softw. 21 (4) (2004) 45–53. Crossref, Web of ScienceGoogle Scholar
    • 61. B. M. Santos, R. R. Honda, V. V. de Camargo and R. S. Durelli, KDM-AO: An aspect-oriented extension of the knowledge discovery metamodel, in Proc. 28th Brazilian Symp. Software Eng. (SBES 2014), 2014, pp. 61–70. Google Scholar
    • 62. J. McC. Smith and D. Stotts, SPQR: Flexible automated design pattern extraction from source code, in Proc. 18st IEEE/ACM Int. Conf. Automated Software Eng. (ASE ’03), 2003, pp. 215–224. Google Scholar
    • 63. Software Composition Group, FM3, 2009, http://scg.unibe.ch/wiki/projects/fame/fm3. Google Scholar
    • 64. Software Composition Group, MSE, 2009, http://scg.unibe.ch/wiki/projects/fame/mse. Google Scholar
    • 65. D. Strein, R. Lincke, J. Lundberg and W. Lowe, An extensible meta-model for program analysis, in 22nd IEEE Int. Conf. Software Maintenance (ICSM ’06), 2006, pp. 380–390. Google Scholar
    • 66. D. Strein, R. Lincke, J. Lundberg and W. Lowe, An extensible meta-model for program analysis, IEEE Trans. Softw. Eng. 33 (9) (2007) 592–607. Google Scholar
    • 67. S. Tichelaar, Modeling Object-Oriented Software for Reverse Engineering and Refactoring, Ph.D. thesis, University of Bern, 2001. Google Scholar
    • 68. S. Tichelaar, FAMIX 2.2, 2012, http://www.moosetechnology.org/docs/others/famix2.2. Google Scholar
    • 69. S. Tichelaar, FAMIX 3.0 core beta, 2012, http://www.moosetechnology.org/docs/others/famix3.0. Google Scholar
    • 70. F. Trias, V. de Castro, M. Lopez-Sanz and E. Marcos, Migrating traditional web applications to cms-based web applications, Electron. Notes Theor. Comput. Sci. 314 (2015) 23–44. Crossref, Web of ScienceGoogle Scholar
    • 71. I. Şora, G. Glodean and M. Gligor, Software architecture reconstruction: An approach based on combining graph clustering and partitioning, in Proc. Int. Joint Conf. Computational Cybernetics and Technical Informatics (ICCC-CONTI 2010), 2010, pp. 259–264. Google Scholar
    • 72. I. Şora, A meta-model for representing language-independent primary dependency structures, in Proc. 7th Int. Conf. Evaluation of Novel Approaches to Software Eng. (ENASE 2012), 2012, pp. 65–74. Google Scholar
    • 73. I. Şora, Unified modeling of static relationships between program elements, Evaluation of Novel Approaches to Software Eng., in Communications in Computer and Information Science, Vol. 410, eds. L. A. Maciaszek and J. Filipe (Springer, Berlin, Heidelberg, 2013), pp. 95–109. Google Scholar
    • 74. A. van Deursen, E. Visser and J. Warmer, Model-driven software evolution: A research agenda, in CSMR Workshop on Model-Driven Software Evolution (MoDSE 2007), 2007, pp. 41–49. Google Scholar
    • 75. S. Warwas and M. Klusch, Making multiagent system designs reusable: A model-driven approach, in Proc. IEEE/WIC/ACM Int. Conf. Web Intelligence and Intelligent Agent Technology (WI-IAT 2011), Vol. 2, 2011, pp. 101–108. Google Scholar
    • 76. M. Zanoni, F. Arcelli Fontana and F. Stella, On applying machine learning techniques for design pattern detection, J. Syst. Softw. 103 (0) (2015) 102–117. Crossref, Web of ScienceGoogle Scholar
    Remember to check out the Most Cited Articles!

    Check out our titles in C++ Programming!