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.
- Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE). In Proc. IEEE 31st Intl. Conf. Software Engineering (ICSE) (2009), IEEE Computer Society.Google Scholar
- 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 ScholarDigital Library
- Cordy, J. R., Inoue, K., Koschke, R., and Jarzabek, S., Eds. Proc. 4th Intl. Ws. Software Clones (IWSC) (2010). Google Scholar
- Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., and Schaetz, B. Model Clone Detection in Practice. In Cordy et al. {3}. Google ScholarDigital Library
- 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 ScholarDigital Library
- Ebert, J., Kelter, U., and Systä, T., Eds. Proc. 2008 Intl. Ws. Comparison and Versioning of Software Models (2008), ACM. Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Schmidt, M. Generische, auf Ähnlichkeiten basierende Berechnung von Modelldifferenzen. Softwaretechnik-Trends 27, 2 (May 2007), -.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
Index Terms
- Towards clone detection in UML domain models
Recommendations
Automatic generation of feature models from UML requirement models
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2It is well known that during the domain requirement engineering phase with UML, both feature models and UML notations (e.g. UML use case diagrams and activity diagrams for describing use cases) are necessary. The development in parallel of UML models ...
From UML/SPT models to schedulability analysis: approach and a prototype implementation using ATL
Model Driven Architecture (MDA) is a software development approach promoted by the OMG. MDA is based on two key concepts, models and model transformations. Several kinds of models are generally used throughout the development process to specify a ...
Survey on Software Clone Detection Research
ICMSS 2019: Proceedings of the 2019 3rd International Conference on Management Engineering, Software Engineering and Service SciencesIn order to improve the efficiency of software development, developers often copy-paste code. It is found that the clone code may affect the quality of the software system, especially the maintenance and comprehension of the software, so it is necessary ...
Comments