Advertisement

Effective and Efficient Model Clone Detection

  • Harald Störrle
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)CrossRefGoogle Scholar
  3. 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. 4.
    Cordy, J.R., Inoue, K., Koschke, R., Jarzabek, S. (eds.): Proc. 4th Intl. Ws. Software Clones (IWSC 2010). ACM (2010)Google Scholar
  5. 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–64Google Scholar
  6. 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. 7.
    Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE). IEEE Computer Society (2009)Google Scholar
  8. 8.
    Juergens, E., Deißenböck, F., Hummel, B., Wagner, S.: Do code clones matter? In: ICSE 2009 [7], pp. 485–495Google Scholar
  9. 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. 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. 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)CrossRefGoogle Scholar
  12. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  17. 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. 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–286Google Scholar
  19. 19.
    Rahm, E., Bernstein, P.A.: A Survey of Approaches to Automatic Schema Matching. VLDB Journal 10, 334–350 (2001)CrossRefMATHGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 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. 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)CrossRefGoogle Scholar
  23. 23.
    Störrle, H.: Towards Clone Detection in UML Domain Models. J. Softw. Syst. Model 12(2), 307–329 (2013)CrossRefGoogle Scholar
  24. 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. 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. 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

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Harald Störrle
    • 1
  1. 1.Department of Applied Mathematics and Computer ScienceTechnical University of Denmark (DTU)Denmark

Personalised recommendations