Skip to main content

Effective and Efficient Model Clone Detection

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8950))

Abstract

Code clones are a major source of software defects. Thus, it is likely that model clones (i.e., duplicate fragments of models) have a significant negative impact on model quality, and thus, on any software created based on those models, irrespective of whether the software is generated fully automatically (“MDD-style”) or hand-crafted following the blueprint defined by the model (“MBSD-style”). Unfortunately, however, model clones are much less well studied than code clones. In this paper, we present a clone detection algorithm for UML domain models. Our approach covers a much greater variety of model types than existing approaches while providing high clone detection rates at high speed.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Acretoaie, V., Störrle, H.: Hypersonic - Model Analysis as a Service. In: Sauer, S., Wimmer, M., Genero, M., Qadeer, S. (eds.) Joint Proc. MODELS 2014 Poster Session and ACM Student Research Competition. CEUR, vol. 1258, pp. 1–5 (2014), http://ceur-ws.org/Vol-1258

  2. Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. Cook, S.A.: The complexity of theorem-proving procedures. In: Proc. 3rd Ann. ACM Symp. Theory of Computing, pp. 151–158. ACM (1971)

    Google Scholar 

  4. Cordy, J.R., Inoue, K., Koschke, R., Jarzabek, S. (eds.): Proc. 4th Intl. Ws. Software Clones (IWSC 2010). ACM (2010)

    Google Scholar 

  5. Deißenböck, F., Hummel, B., Juergens, E., Pfaehler, M., Schätz, B.: Model Clone Detection in Practice. In: Cordy, et al. (eds.) [4], pp. 57–64

    Google Scholar 

  6. Deißenböck, F., Hummel, B., Schaetz, B., Wagner, S., Girard, J., Teuchert, S.: Clone Detection in Automotive Model-Based Development. In: Proc. IEEE 30th Intl. Conf. Software Engineering (ICSE), pp. 603–612. IEEE Computer Society (2008)

    Google Scholar 

  7. Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE). IEEE Computer Society (2009)

    Google Scholar 

  8. Juergens, E., Deißenböck, F., Hummel, B., Wagner, S.: Do code clones matter? In: ICSE 2009 [7], pp. 485–495

    Google Scholar 

  9. Kapser, C., Anderson, P., Godfrey, M., Koschke, R., Rieger, M., Van Rysselberghe, F., Weißgerber, P.: Subjectivity in clone judgment: Can we ever agree?. Tech. Rep. 06301, Internationales Begegnungs- und Forschungszentrum für Informatik Schloß Dagstuhl (2007)

    Google Scholar 

  10. Kelter, U., Wehren, J., Niere, J.: A Generic Difference Algorithm for UML Models. In: Proc. Natl. Germ. Conf. Software-Engineering (SE 2005). Lecture Notes in Informatics, GI e.V, vol. P-64, pp. 105–116 (2005)

    Google Scholar 

  11. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Merging Models with the Epsilon Merging Language (EML). In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 215–229. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Koschke, R.: Survey of research on software clones. In: Walenstein, A., Koschke, R., Merlo, E. (eds.) Duplication, Redundancy, and Similarity in Software. Dagstuhl Seminar Proceedings, no. 06301, Intl. Conf. and Research Center for Computer Science, Dagstuhl Castle (2006)

    Google Scholar 

  13. Liu, H., Ma, Z., Zhang, L., Shao, W.: Detecting duplications in sequence diagrams based on suffix trees. In: 13th Asia Pacific Software Engineering Conf. (APSEC), pp. 269–276. IEEE CS (2006)

    Google Scholar 

  14. Melnik, S., Garcia-Molina, H., Rahm, E.: Similarity flooding: A versatile graph matching algorithm and its application to schema matching. In: Proc. 18th Intl. Conf. Data Engineering (ICDE 2002), pp. 117–128. IEEE (2002)

    Google Scholar 

  15. Mork, P., Bernstein, P.A.: Adapting a Generic Match Algorithm to Align Ontologies of Human Anatomy. In: Proc. 20th Intl. Conf. Data Engineering (ICDE 2004), pp. 787–791. IEEE Computer Society (2004)

    Google Scholar 

  16. Nagl, M., Schürr, A.: A Specification Environment for Graph Grammars. In: Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Graph Grammars 1990. LNCS, vol. 532, pp. 599–609. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  17. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: Proc. 29th Intl. Conf. Software Engineering (ICSE), pp. 54–64. IEEE Computer Society (2007)

    Google Scholar 

  18. Pham, N.H., Nguyen, H.A., Nguyen, T.T., Al-Kofahi, J.M., Nguyen, T.N.: Complete and accurate clone detection in graph-based models. In: ICSE 2009 [17], pp. 276–286

    Google Scholar 

  19. Rahm, E., Bernstein, P.A.: A Survey of Approaches to Automatic Schema Matching. VLDB Journal 10, 334–350 (2001)

    Article  MATH  Google Scholar 

  20. Ren, S., Rui, K., Butler, G.: Refactoring the Scenario Specification: A Message Sequence Chart Approach. In: Masood, A., Léonard, M., Pigneur, Y., Patel, S. (eds.) OOIS 2003. LNCS, vol. 2817, pp. 294–298. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  21. Roy, C.K., Cordy, J.R.: A Survey on Software Clone Detection. Tech. Rep. TR 541, Queen’s University, School of Computing (2007)

    Google Scholar 

  22. Schürr, A.: Introduction to PROGRESS and an Attribute Graph Grammar Based Specification Language. In: Nagl, M. (ed.) WG 1989. LNCS, vol. 411, pp. 151–165. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  23. Störrle, H.: Towards Clone Detection in UML Domain Models. J. Softw. Syst. Model 12(2), 307–329 (2013)

    Article  Google Scholar 

  24. Störrle, H.: UML Model Analysis and Checking with MACH. In: van den Brand, M., Mens, K., Moreau, P.-E., Vinju, J. (eds.) 4th Intl. Ws. Academic Software Development Tools and Techniques (2013)

    Google Scholar 

  25. Störrle, H., Hebig, R., Knapp, A.: The Free Models Initative. In: Sauer, S., Wimmer, M., Genero, M., Qadeer, S. (eds.) Proc. MODELS 2014 Poster Session and ACM Student Research Competition, vol. 1258, pp. 36–40. CEUR (2014)

    Google Scholar 

  26. Tiarks, R., Koschke, R., Falke, R.: An Assessment of Type-3 Clones as Detected by State-of-the-Art Tools. In: Intl. Ws. Source Code Analysis and Manipulation, pp. 67–76. IEEE Computer Society (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Störrle, H. (2015). Effective and Efficient Model Clone Detection. In: De Nicola, R., Hennicker, R. (eds) Software, Services, and Systems. Lecture Notes in Computer Science, vol 8950. Springer, Cham. https://doi.org/10.1007/978-3-319-15545-6_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15545-6_25

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-15544-9

  • Online ISBN: 978-3-319-15545-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics