skip to main content
10.1145/1842752.1842805acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsaConference Proceedingsconference-collections
research-article

Towards clone detection in UML domain models

Published:23 August 2010Publication History

ABSTRACT

Code clones are a substantial problem for code based development; it is not surprising that model clones are a problem for model based development, too. Past experience with model version control vs. code version control suggests, however, that there are radically different problems and techniques on the code level than on the model level. In this paper, we explore the problems and possibilities associated with detecting clones in UML domain models. In particular, we have designed a number of algorithms and heuristics to detect clones, and have implemented them in the MQlone tool (read as "m clone"). However, all of the approaches we have studied so far have their weak spots, so that we cannot present a universal solution. Further work is required to refine and combine the approaches studied here, and test them on larger populations of models. While the related work faces similar unsolved problems our approach is the first one to deal with UML as a whole rather than with Matlab/Simulink or individual UML model types.

References

  1. Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE). In Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE) (2009), IEEE Computer Society.Google ScholarGoogle Scholar
  2. Chimiak-Opoka, J., Felderer, M., Lenz, C., and Lange, C. Querying UML Models using OCL and Prolog: A Performance Study. In Ws. Model Driven Engineering, Verification, and Validation (MoDeVVa'08) (2008), A. Faivre, S. Ghosh, and A. Pretschner, Eds., pp. 81--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cordy, J. R., Inoue, K., Koschke, R., and Jarzabek, S., Eds. Proc. 4th Intl. Ws. Software Clones (IWSC) (2010). Google ScholarGoogle Scholar
  4. Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., and Schaetz, B. Model Clone Detection in Practice. In Cordy et al. {3}. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Deissenboeck, F., Hummel, B., Schaetz, B., Wagner, S., Girard, J., and Teuchert, S. Clone Detection in Automotive Model-Based Development. In Proc. IEEE 30th Intl. Conf. Software Engineering (ICSE) (2008), IEEE Computer Society, pp. 603--612. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ebert, J., Kelter, U., and Systä, T., Eds. Proc. 2008 Intl. Ws. Comparison and Versioning of Software Models (2008), ACM. Google ScholarGoogle ScholarCross RefCross Ref
  7. Juergens, E., Deissenboeck, F., Hummel, B., and Wagner, S. Do code clones matter? In Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE) {1}, pp. 485--495. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Junginger, S., Kühn, H., Strobl, R., and Karagiannis, D. Ein Geschäftsprozessmanagement-Werkzeug der nächsten Generation - ADONIS: Konzeption und Anwendungen. Wirtschaftsinformatik 42, 5 (2000), 392--401.Google ScholarGoogle Scholar
  9. Kelter, U., Ed. Proc. Ws. Versionierung und Vergleich von UML Modellen (VVUU'07) (May 2007), Gesellschaft für Informatik. appeared in Softwaretechnik-Trends 2(27)2007.Google ScholarGoogle Scholar
  10. Kelter, U., Wehren, J., and Niere, J. A Generic Difference Algorithm for UML Models. In Proc. Natl. Germ. Conf. Software-Engineering 2005 (SE'05) (2005), K. Pohl, Ed., no. P-64 in Lecture Notes in Informatics, Gesellschaft für Informatik e.V. pp. 105--116.Google ScholarGoogle Scholar
  11. Koschke, R. Survey of research on software clones. In Duplication, Redundancy, and Similarity in Software (2006), A. Walenstein, R. Koschke, and E. Merlo, Eds., no. 06301 in Dagstuhl Seminar Proceedings, Intl. Conf. and Research Center for Computer Science, Dagstuhl Castle.Google ScholarGoogle Scholar
  12. Liu, H., Ma, Z., Zhang, L., and Shao, W. Detecting duplications in sequence diagrams based on suffix trees. In 13th Asia Pacific Software Engineering Conf. (APSEC) (2006), IEEE CS, pp. 269--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Nagl, M., and Schürr, A. A Specification Environment for Graph Grammars. In Proc. 4th Intl. Ws. Graph-Grammars and Their Application to Computer Science (1991), H. Ehrig and G. Kreowski, H. and Rozenberg, Eds., vol. 532 of LNCS, Springer Verlag, pp. 599--609. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., and Zave, P. Matching and merging of statecharts specifications. In Proc. 29th Intl. Conf. Software Engineering (ICSE) (2007), IEEE Computer Society, IEEE Computer Society, pp. 54--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Nguyen, H., Nguyen, T., Pham, N., Al-Kofahi, J., and Nguyen, T. Accurate and efficient structural characteristic feature extraction for clone detection. In Proc. 12th Intl. Conf. Fundamental Approaches to Software Engineering (FASE) (2009), Springer, pp. 440--455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Pham, N. H., Nguyen, H. A., Nguyen, T. T., Al-Kofahi, J. M., and Nguyen, T. N. Complete and accurate clone detection in graph-based models. In Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE) {1}, pp. 276--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ren, S., Rui, K., and Butler, G. Refactoring the scenario specification: A message sequence chart approach. In 9th Intl. Conf. Object-Oriented Information Systems (2003), no. 2817 in LNCS, Springer, pp. 294--298.Google ScholarGoogle ScholarCross RefCross Ref
  18. Schmidt, M. Generische, auf Ähnlichkeiten basierende Berechnung von Modelldifferenzen. Softwaretechnik-Trends 27, 2 (May 2007), -.Google ScholarGoogle Scholar
  19. Schürr, A. Introduction to PROGRESS and an Attribute Graph Grammar Based Specification Language. In Proc. 15th Intl. Ws. Graph-Theoretic Concepts in Computer Science (WG'89) (1989), M. Nagl, Ed., vol. 411 of LNCS, Springer Verlag, pp. 151--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Störrle, H. Large Scale Modeling Efforts: A Survey on Challenges and Best Practices. In Proc. IASTED Intl. Conf. Software Engineering (IASTED-SE'07) (2007), W. Hasselbring, Ed., Acta Press, pp. 382--389. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Störrle, H. A logical model query interface. In Intl. Ws. Visual Languages and Logic (VLL'09) (2009), P. Cox, A. Fish, and J. Howse, Eds., vol. 510, CEUR, pp. 18--36.Google ScholarGoogle Scholar
  22. Störrle, H. VMQL: A Generic Visual Model Query Language. In Proc. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'09) (2009), M. Erwig, R. DeLine, and M. Minas, Eds., IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Tiarks, R., Koschke, R., and Falke, R. An Assessment of Type-3 Clones as Detected by State-of-the-Art Tools. In Intl. Ws. Source Code Analysis and Manipulation (2009), IEEE Computer Society, pp. 67--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Wielemaker, J. SWI Prolog 5.6.46 Reference Manual. Tech. rep., University of Amsterdam, Dept. of Social Science Informatics, 2007. available at www.swi-prolog.org.Google ScholarGoogle Scholar

Index Terms

  1. Towards clone detection in UML domain models

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            ECSA '10: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume
            August 2010
            367 pages
            ISBN:9781450301794
            DOI:10.1145/1842752

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 23 August 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate48of72submissions,67%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader