[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3106195.3106225acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Detecting Variability in MATLAB/Simulink Models: An Industry-Inspired Technique and its Evaluation

Published: 25 September 2017 Publication History

Abstract

Model-based languages such as MATLAB/Simulink play an essential role in the model-driven development of software systems. To comply with new requirements, it is common practice to create new variants by copying existing systems and modifying them. Commonly referred to as clone-and-own, severe problems arise in the long-run when no dedicated variability management is installed. To allow for a documented and structured reuse of systems, their variability information needs to be reverse-engineered. In this paper, we propose an advanced comparison procedure, the Matching Window Technique, and a customizable metric. Both allow us to overcome structural alterations commonly performed during clone-and-own. We analyze related MATLAB/Simulink models and determine, classify and represent their variability information in an understandable way. With our technique, we assist model engineers in maintaining and evolving existing variants. We provide three feasibility studies with real-world models from the automotive domain and show our technique to be fast and precise. Furthermore, we perform semi-structured interviews with domain experts to assess the potential applicability of our technique in practice.

References

[1]
S. Adolph, W. Hall, and P. Kruchten. 2011. Using Grounded Theory to Study the Experience of Software Development. Empirical Software Engineering 16 (2011), 487--513.
[2]
B. Al-Batran, B. Schätz, and B. Hummel. 2011. Semantic Clone Detection for Model-Based Development of Embedded Systems. In Proc. of the Intl. Conference on Model Driven Engineering Languages and Systems (MODELS) (LNCS), Vol. 6981. Springer, 258--272.
[3]
M. H. Alalfi, J. R. Cordy, and T. R. Dean. 2014. Analysis and Clustering of Model Clones: An Automotive Industrial Experience. In Proc. of the Intl. Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE). IEEE, 375--378.
[4]
M. H. Alalfi, J. R. Cordy, T. R. Dean, M. Stephan, and A. Stevenson. 2012. Models are code too: Near-miss clone detection for Simulink models. In Proc. of the Intl. Conference on Software Maintenance (ICSM). IEEE, 295--304.
[5]
M. H. Alalfi, E.J. Rapos, A. Stevenson, M. Stephan, T. R. Dean, and J. R. Cordy. 2014. Semi-automatic Identification and Representation of Subsystem Variability in Simulink Models. In Proc. of the Intl. Conference on Software Maintenance and Evolution (ICSME). IEEE, 486--490.
[6]
K. Berg, J. Bishop, and D. Muthig. 2005. Tracing Software Product Line Variability: From Problem to Solution Space. In Proc. of the Annual Research Conf. of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries (SAICSIT). South African Inst. for Computer Scientists and Information Technologists, 182--191.
[7]
R. Conradi and A.I. Wang. 2003. Empirical Methods and Studies in Software Engineering: Experiences from ESERNET. Springer.
[8]
K. Czarnecki and U. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. Addison Wesley.
[9]
F. Deissenboeck, B. Hummel, E. Juergens, M. Pfaehler, and B. Schaetz. 2010. Model Clone Detection in Practice. In Proc. of the Intl. Workshop on Software Clones (IWSC). ACM, 57--64.
[10]
F. Deissenboeck, B. Hummel, E. Jürgens, B. Schätz, S. Wagner, J. Girard, and S. Teuchert. 2008. Clone Detection in Automotive Model-based Development. In Proc. of the Intl. Conference on Software Engineering (ICSE). ACM, 603--612.
[11]
Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. of the European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 25--34.
[12]
J. Font, M. Ballarín, Ø. Haugen, and C. Cetina. 2015. Automating the Variability Formalization of a Model Family by Means of Common Variability Language. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 411--418.
[13]
B.G. Glaser and A.L. Strauss. 1967. The Discovery of Grounded Theory: Strategies for Qualitative Research. Aldine Publishing Company.
[14]
H. Grönninger, H. Krahn, C. Pinkernell, and B. Rumpe. 2014. Modeling Variants of Automotive Systems using Views. CoRR abs/1409.6629 (2014).
[15]
S. Holthusen, D. Wille, C. Legat, S. Beddig, I. Schaefer, and B. Vogel-Heuser. 2014. Family Model Mining for Function Block Diagrams in Automation Software. In Proc. of the Intl. Workshop on Reverse Variability Eng. (REVE). ACM, 36--43.
[16]
U. Kelter, J. Wehren, and J. Niere. 2005. A Generic Difference Algorithm for UML Models. Software Engineering 64, 105--116 (2005), 4--9.
[17]
V. I. Levenshtein. 1966. Binary Codes Capable of Correcting Deletions, Insertions, and Reversals. Soviet Physics Doklady 10, 8 (1966), 707--710.
[18]
Z. Liang, Y. Cheng, and J. Chen. 2014. A Novel Optimized Path-Based Algorithm for Model Clone Detection. Journal of Software 9, 7 (2014), 1810--1817.
[19]
R. Malhotra. 2016. Empirical Research in Software Engineering: Concepts, Analysis, and Applications. CRC Press.
[20]
J. Martinez, T. Ziadi, T. F. Bissyandé, J. Klein, and Y. le Traon. 2015. Automating the Extraction of Model-Based Software Product Lines from Model Variants (T). In Proc. of the Intl. Conference on Automated Software Engineering (ASE). IEEE, 396--406.
[21]
M.Q. Patton. 1987. How to Use Qalitative Methods in Evaluation. Sage Publications.
[22]
N. H. Pham, H. A. Nguyen, T. T. Nguyen, J. M. Al-Kofahi, and T. N. Nguyen. 2009. Complete and Accurate Clone Detection in Graph-based Models. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 276--286.
[23]
K. Pohl, G. Böckle, and Linden, F. J. van der. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer.
[24]
C. Riva and C. D. Rosso. 2003. Experiences with Software Product Family Evolution. Proc. of the Intl. Workshop on Principles of Software Evol. (2003).
[25]
J. Rubin and M. Chechik. 2012. Combining Related Products into Product Lines. In Proc. of the Intl. Conference on Fundamental Approaches to Software Engineering (FASE) (LNCS), Vol. 7212. Springer, 285--300.
[26]
J. Rubin and M. Chechik. 2013. N-way Model Merging. In Proc. of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE). ACM, 301--311.
[27]
J. Rubin and M. Chechik. 2013. Quality of Merge-Refactorings for Product Lines. In Proc. of the Intl. Conference on Fundamental Approaches to Software Engineering (FASE) (LNCS), Vol. 7793. Springer, 83--98.
[28]
P. Runeson and M. Höst. 2009. Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14, 2 (2009), 131--164.
[29]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. 2010. Automatic Variation-point Identification in Function-block-based Models. In Proc. of the Intl. Conference on Generative Programming and Component Engineering (GPCE). ACM, 23--32.
[30]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. 2011. Extraction of Feature Models from Formal Contexts. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 4:1--4:8.
[31]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. 2012. Automatic library migration for the generation of hardware-in-the-loop models. Science of Computer Programming 77, 2 (2012), 83--95.
[32]
S. She, R. Lotufo, T. Berger, A. Wasowski, and K. Czarnecki. 2011. Reverse Engineering Feature Models. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 461--470.
[33]
CQSE - Continuous Quality in Software Engineering. 2016. ConQAT. (Oct. 2016). https://www.conqat.org
[34]
Software Engineering Group, University of Siegen. 2016. The SiDiff project. (Oct. 2016). http://pi.informatik.uni-siegen.de/sidiff/
[35]
J. Weiland and P. Manhart. 2013. A Classification of Modeling Variability in Simulink. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 7:1--7:8.
[36]
N. Weston, R. Chitchyan, and A. Rashid. 2009. A Framework for Constructing Semantically Composable Feature Models from Natural Language Requirements. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 211--220.
[37]
D. Wille. 2014. Managing Lots of Models: The FaMine Approach. In Proc. of the Intl. Symposium on the Foundations of Software Engineering (FSE). ACM, 817--819.
[38]
D. Wille, S. Holthusen, S. Schulze, and I. Schaefer. 2013. Interface Variability in Family Model Mining. In Proc. of the Intl. Workshop on Model-Driven Approaches in Software Product Line Engineering (MAPLE). ACM, 44--51.
[39]
D. Wille, T. Runge, C. Seidl, and S. Schulze. 2017. Model-Based Delta Generation Using Extractive Software Product Line Engineering. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 36--43.
[40]
X. Zhang, Ø. Haugen, and B. Møller-Pedersen. 2011. Model Comparison to Synthesize a Model-Driven Software Product Line. In Proc. of the Intl. Software Product Line Conference (SPLC). IEEE, 90--99.

Cited By

View all
  • (2024)SMOKE: Simulink Model Obfuscator Keeping StructureProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3687788(41-45)Online publication date: 22-Sep-2024
  • (2024)Cycle assessment of a four-stroke spark-ignition ethanol fueled engineSustainable Energy Technologies and Assessments10.1016/j.seta.2024.10372265(103722)Online publication date: May-2024
  • (2023)EvoSL: A Large Open-Source Corpus of Changes in Simulink Models & Projects2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00024(273-284)Online publication date: 1-Oct-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume A
September 2017
253 pages
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]

In-Cooperation

  • Fidetia

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 September 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. MATLAB/Simulink
  2. software maintainability
  3. variability mining

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SPLC '17

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)2
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)SMOKE: Simulink Model Obfuscator Keeping StructureProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3687788(41-45)Online publication date: 22-Sep-2024
  • (2024)Cycle assessment of a four-stroke spark-ignition ethanol fueled engineSustainable Energy Technologies and Assessments10.1016/j.seta.2024.10372265(103722)Online publication date: May-2024
  • (2023)EvoSL: A Large Open-Source Corpus of Changes in Simulink Models & Projects2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00024(273-284)Online publication date: 1-Oct-2023
  • (2023)Replicability Study: Corpora For Understanding Simulink Models & Projects2023 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)10.1109/ESEM56168.2023.10304867(1-12)Online publication date: 26-Oct-2023
  • (2023)Repository mining for changes in Simulink and Stateflow modelsSoftware and Systems Modeling10.1007/s10270-023-01113-522:5(1713-1732)Online publication date: 16-Jun-2023
  • (2022)BEEHIVEProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547064(17-22)Online publication date: 12-Sep-2022
  • (2022)Property Satisfiability Analysis for Product Lines of Modelling LanguagesIEEE Transactions on Software Engineering10.1109/TSE.2020.298950648:2(397-416)Online publication date: 1-Feb-2022
  • (2022)Quantifying the Potential to Automate the Synchronization of Variants in Clone-and-Own2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00032(269-280)Online publication date: Oct-2022
  • (2022)Effects of variability in models: a family of experimentsEmpirical Software Engineering10.1007/s10664-021-10112-327:3Online publication date: 17-Mar-2022
  • (2021)Repository Mining for Changes in Simulink Models2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS50736.2021.00014(46-57)Online publication date: Oct-2021
  • Show More Cited By

View Options

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