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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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
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)
Cook, S.A.: The complexity of theorem-proving procedures. In: Proc. 3rd Ann. ACM Symp. Theory of Computing, pp. 151–158. ACM (1971)
Cordy, J.R., Inoue, K., Koschke, R., Jarzabek, S. (eds.): Proc. 4th Intl. Ws. Software Clones (IWSC 2010). ACM (2010)
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
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)
Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE). IEEE Computer Society (2009)
Juergens, E., Deißenböck, F., Hummel, B., Wagner, S.: Do code clones matter? In: ICSE 2009 [7], pp. 485–495
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
Rahm, E., Bernstein, P.A.: A Survey of Approaches to Automatic Schema Matching. VLDB Journal 10, 334–350 (2001)
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)
Roy, C.K., Cordy, J.R.: A Survey on Software Clone Detection. Tech. Rep. TR 541, Queen’s University, School of Computing (2007)
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)
Störrle, H.: Towards Clone Detection in UML Domain Models. J. Softw. Syst. Model 12(2), 307–329 (2013)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)