skip to main content
10.1145/1368088.1368172acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Clone detection in automotive model-based development

Published: 10 May 2008 Publication History

Abstract

Model-based development is becoming an increasingly common development methodology. In important domains like embedded systems already major parts of the code are generated from models specified with domain-specific modelling languages. Hence, such models are nowadays an integral part of the software development and maintenance process and therefore have a major economic and strategic value for the software-developing organisations. Nevertheless almost no work has been done on a quality defect that is known to seriously hamper maintenance productivity in classic code-based development: Cloning. This paper presents an approach for the automatic detection of clones in large models as they are used in model-based development of control systems. The approach is based on graph theory and hence can be applied to most graphical data-flow languages. An industrial case study demonstrates the applicability of our approach for the detection of clones in Matlab/Simulink models that are widely used in model-based development of embedded systems in the automotive domain.

References

[1]
B. S. Baker. On finding duplication and near-duplication in large software systems. In WCRE '95: Proceedings of the Second Working Conference on Reverse Engineering. IEEE Computer Society, 1995.
[2]
I. D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier. Clone detection using abstract syntax trees. In ICSM '98: Proceedings of the International Conference on Software Maintenance. IEEE Computer Society, 1998.
[3]
D. M. Bayada, R. W. Simpson, A. P. Johnson, and C. Laurenço. An algorithm for the multiple common subgraph problem. Journal of Chemical Information and Computer Sciences, 32:680--685, 1992.
[4]
H. Bunke, P. Foggia, C. Guidobaldi, C. Sansone, and M. Vento. A comparison of algorithms for maximum common subgraph on randomly connected graphs. In Joint IAPR International Workshops SSPR 2002 and SPR 2002, volume 2396 of Lecture Notes in Computer Science, pages 123--132. Springer, 2002.
[5]
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The MIT Press and McGraw-Hill Book Company, 2nd edition, 2001.
[6]
F. Deissenboeck, M. Pizka, and T. Seifert. Tool support for continuous quality assessment. In Proc. 13th IEEE Int. Workshop on Software Technology and Engineering Practice. IEEE Computer Society, 2005.
[7]
dSpace GmbH. TargetLink Production Code Generation. www.dspace.de.
[8]
M. R. Garey and D. S. Johnson. Computers and intractability. A guide to the theory of NP-completeness. W.H. Freeman and Company, 1979.
[9]
L. Jiang, G. Misherghi, Z. Su, and S. Glondu. DECKARD: Scalable and accurate tree-based detection of code clones. In ICSE '07: Proceedings of the 29th international conference on Software engineering, 2007.
[10]
M. Jungmann, R. Otterbach, and M. Beine. Development of Safety-Critical Software Using Automatic Code Generation. In Proceedings of SAE World Congress, 2004.
[11]
T. Kamiya, S. Kusumoto, and K. Inoue. CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Transactions on Software Engineering, 28:654--670, 2002.
[12]
C. Kapser and M. W. Godfrey. "Cloning considered harmful" considered harmful. In WCRE '06: Proceedings of the 13th Working Conference on Reverse Engineering, pages 19--28. IEEE Computer Society, 2006.
[13]
U. Kelter, J. Wehren, and J. Niere. A generic difference algorithm for UML models. In Software Engineering, volume 64 of LNI, pages 105--116, 2005.
[14]
M. Kim, L. Bergman, T. Lau, and D. Notkin. An ethnographic study of copy and paste programming practices in OOPL. In ISESE '04: Proceedings of the 2004 International Symposium on Empirical Software Engineering, pages 83--92. IEEE Computer Society, 2004.
[15]
R. Komondoor and S. Horwitz. Using slicing to identify duplication in source code. In Proceedings of the 8th International Symposium on Static Analysis, pages 40--56. Springer, 2001.
[16]
R. Koschke. Survey of research on software clones. In Duplication, Redundancy, and Similarity in Software, Dagstuhl Seminar Proceedings, 2007.
[17]
R. Koschke, R. Falke, and P. Frenzel. Clone detection using abstract syntax suffix trees. In Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), pages 253--262, 2006.
[18]
J. Krinke. Identifying similar code with program dependence graphs. In WCRE '01: Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01), page 301. IEEE Computer Society, 2001.
[19]
B. Lague, D. Proulx, J. Mayrand, E. M. Merlo, and J. Hudepohl. Assessing the benefits of incorporating function clone detection in a development process. In Proceedings of the International Conference on Software Maintenance, 1997.
[20]
E. C. Lingxiao Jiang, Zhendong Su. Context-based detection of clone-related bugs. In ESEC/FSE 2007, 2007.
[21]
H. Liu, Z. Ma, L. Zhang, and W. Shao. Detecting duplications in sequence diagrams based on suffix trees. In APSEC '06: Proceedings of the XIII Asia Pacific Software Engineering Conference, pages 269--276. IEEE Computer Society, 2006.
[22]
The MathWorks Inc. SIMULINK Model-Based and System-Based Design - Using Simulink, 2002.
[23]
J. Mayrand, C. Leblanc, and E. Merlo. Experiment on the automatic detection of function clones in a software system using metrics. In ICSM '96: Proceedings of the 1996 International Conference on Software Maintenance, page 244. IEEE Computer Society, 1996.
[24]
J. J. McGregor. Backtrack search algorithms and the maximal common subgraph problem. Software - Practice and Experience, 12:23--34, 1982.
[25]
A. Monden, D. Nakae, T. Kamiya, S. Sato, and K. Matsumoto. Software quality analysis by code clones in industrial legacy software. In METRICS '02: Proceedings of the 8th International Symposium on Software Metrics, page 87. IEEE Computer Society, 2002.
[26]
C. H. Papadimitriou and K. Steiglitz. Combinatorial optimization: Algorithms and complexity. Prentice-Hall, 1982.
[27]
A. Pretschner, M. Broy, I. H. Krüger, and T. Stauner. Software Engineering for Automotive Systems: A Roadmap. In L. Briand and A. Wolf, editors, Future of Software Engineering 2007, pages 55--71. IEEE Computer Society, 2007.
[28]
J. W. Raymond and P. Willett. Maximum common subgraph isomorphism algorithms for the matching of chemical structures. Journal of Computer-Aided Molecular Design, 16(7):521--533, 2002.

Cited By

View all
  • (2023)An example of adoption of the model-based design (MBD) methodology in the development process of an LPG fuelling systemCombustion Engines10.19206/CE-168387Online publication date: 7-Jul-2023
  • (2023)Refactoring ETL Flows in The Wild2023 IEEE International Conference on Big Data (BigData)10.1109/BigData59044.2023.10386531(1581-1590)Online publication date: 15-Dec-2023
  • (2023)SimIMA: a virtual Simulink intelligent modeling assistantSoftware and Systems Modeling10.1007/s10270-023-01093-623:1(29-56)Online publication date: 13-Mar-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '08: Proceedings of the 30th international conference on Software engineering
May 2008
558 pages
ISBN:9781605580791
DOI:10.1145/1368088
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 May 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. clone detection
  2. data-flow
  3. matlab/simulink
  4. model clone

Qualifiers

  • Research-article

Conference

ICSE '08
Sponsor:

Acceptance Rates

ICSE '08 Paper Acceptance Rate 56 of 370 submissions, 15%;
Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)1
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)An example of adoption of the model-based design (MBD) methodology in the development process of an LPG fuelling systemCombustion Engines10.19206/CE-168387Online publication date: 7-Jul-2023
  • (2023)Refactoring ETL Flows in The Wild2023 IEEE International Conference on Big Data (BigData)10.1109/BigData59044.2023.10386531(1581-1590)Online publication date: 15-Dec-2023
  • (2023)SimIMA: a virtual Simulink intelligent modeling assistantSoftware and Systems Modeling10.1007/s10270-023-01093-623:1(29-56)Online publication date: 13-Mar-2023
  • (2022)SLNETProceedings of the 19th International Conference on Mining Software Repositories10.1145/3524842.3528001(237-241)Online publication date: 23-May-2022
  • (2022)Phishing Kits Source Code Similarity Distribution: A Case Study2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00116(983-994)Online publication date: Mar-2022
  • (2022)Deep learning application on code clone detectionJournal of Systems and Software10.1016/j.jss.2021.111141184:COnline publication date: 3-Jan-2022
  • (2022)Facilitating the co-evolution of semantic descriptions in standards and modelsInformation and Software Technology10.1016/j.infsof.2021.106763143:COnline publication date: 1-Mar-2022
  • (2022)Reference Architectures for Automotive SoftwareReference Architectures for Critical Domains10.1007/978-3-031-16957-1_5(73-111)Online publication date: 7-Sep-2022
  • (2021)Duplicated code pattern mining in visual programming languagesProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473928(1348-1359)Online publication date: 20-Aug-2021
  • (2021)A Systematic Literature Review on Bad Smells–5 W's: Which, When, What, Who, WhereIEEE Transactions on Software Engineering10.1109/TSE.2018.288097747:1(17-66)Online publication date: 1-Jan-2021
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media