skip to main content
10.1145/3001867.3001875acmconferencesArticle/Chapter ViewAbstractPublication PagesfosdConference Proceedingsconference-collections
research-article

Variability mining of state charts

Published: 30 October 2016 Publication History

Abstract

Companies commonly use state charts to reduce the complexity of software development. To create variants with slightly different functionality from existing products, it is common practice to copy the corresponding state charts and modify them to changed requirements. Even though these so-called clone-and-own approaches save money in the short-term, they introduce severe risks for software evolution and product quality in the long term as the relation between the software variants is lost so that all products have to be maintained separately. In previous work, we introduced variability mining algorithms to identify the relations between related MATLAB/Simulink model variants regarding their common and varying parts. In this paper, we adapt these algorithms for state charts by applying guidelines from previous work to make them available for developers to better understand the relations between a set of state chart variants. Using this knowledge, maintenance of related variants can be improved and migration from clone-and-own based single variant development to more elaborate reuse strategies is possible to increase maintainability and the overall product quality. We demonstrate the feasibility of variability mining for state charts by means of a case study with models of realistic size.

References

[1]
B. Al-Batran, B. Schätz, and B. Hummel. Semantic Clone Detection for Model-Based Development of Embedded Systems. In Proc. of the Intl. Conference on Model Driven Engineering Languages and Systems (MODELS), volume 6981 of Lecture Notes in Computer Science, pages 258–272. Springer, 2011.
[2]
M. Alalfi, J. Cordy, T. Dean, M. Stephan, and A. Stevenson. Models are code too: Near-miss clone detection for Simulink models. In Proc. of the Intl. Conference on Software Maintenance (ICSM), pages 295–304. IEEE, 2012.
[3]
M. Alalfi, J. Cordy, and T. Dean. 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), CSMR-WCRE ’14, pages 375–378. IEEE, 2014.
[4]
M. Alalfi, E. Rapos, A. Stevenson, M. Stephan, T. Dean, and J. Cordy. Semi-automatic Identification and Representation of Subsystem Variability in Simulink Models. In Proc. of the Intl. Conference on Software Maintenance and Evolution (ICSME), ICSME ’14, pages 486–490. IEEE, 2014.
[5]
M. Alanen and I. Porres. Difference and Union of Models. In UML 2003 - The Unified Modeling Language. Modeling Languages and Applications, volume 2863, pages 2–17. Springer, 2003.
[6]
M. Antkiewicz, W. Ji, T. Berger, K. Czarnecki, T. Schmorleiz, R. Lämmel, S. Stănciulescu, A. W ˛ asowski, and I. Schaefer. Flexible Product Line Engineering with a Virtual Platform. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 532–535. ACM, 2014.
[7]
S. S. Chawathe, A. Rajaraman, H. Garcia-Molina, and J. Widom. Change Detection in Hierarchically Structured Information. In Proc. of the Intl. Conference on Management of Data (MOD), SIGMOD ’96, pages 493–504. ACM, 1996.
[8]
F. Deissenboeck, B. Hummel, E. Jürgens, B. Schätz, S. Wagner, J.-F. Girard, and S. Teuchert. Clone Detection in Automotive Model-based Development. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 603–612. ACM, 2008.
[9]
Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. of the European Conference on Software Maintenance and Reengineering (CSMR), pages 25–34. IEEE, 2013.
[10]
J. Font, L. Arcega, Ø. Haugen, and C. Cetina. Building Software Product Lines from Conceptualized Model Patterns. In Proc. of the Intl. Software Product Line Conference (SPLC), pages 46–55. ACM, 2015.
[11]
J. Font, M. Ballarín, Ø. Haugen, and C. Cetina. Automating the Variability Formalization of a Model Family by Means of Common Variability Language. In Proc. of the Intl. Software Product Line Conference (SPLC), pages 411–418. ACM, 2015.
[12]
H. Frank and J. Eder. Towards an Automatic Integration of Statecharts. In Proc. of the Intl. Conference on Conceptual Modeling (ER), volume 1728, pages 430–445. Springer, 1999.
[13]
D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming, 8(3):231–274, 1987.
[14]
U. Kelter, J. Wehren, and J. Niere. A Generic Difference Algorithm for UML Models. Software Engineering, 64(105- 116):4–9, 2005.
[15]
B. Klatt, M. Küster, and K. Krogmann. A Graph-Based Analysis Concept to Derive a Variation Point Design from Product Copies. In Proc. of the Intl. Workshop on Reverse Variability Engineering (REVE), pages 1–8. ACM, 2013.
[16]
V. I. Levenshtein. Binary Codes Capable of Correcting Deletions, Insertions, and Reversals. Soviet Physics Doklady, 10 (8):707–710, 1966.
[17]
Z. Liang, Y. Cheng, and J. Chen. A Novel Optimized Path-Based Algorithm for Model Clone Detection. Journal of Software, 9(7):1810–1817, 2014.
[18]
S. Lity, R. Lachmann, M. Lochau, and I. Schaefer. Deltaoriented Software Product Line Test Models – The Body Comfort System Case Study. Technical Report 2012-07, Technische Universität Braunschweig, Germany, 2012.
[19]
J. Martinez, T. Ziadi, J. Klein, and Y. le Traon. Identifying and Visualising Commonality and Variability in Model Variants. In Proc. of the European Conference on Modeling Foundations and Applications (ECMFA), volume 8569 of Lecture Notes in Computer Science, pages 117–131. Springer, 2014.
[20]
A. Mehra, J. Grundy, and J. Hosking. A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design. In Proc. of the Intl. Conference on Automated Software Engineering (ASE), pages 204–213. ACM, 2005.
[21]
S. Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave. Matching and merging of statecharts specifications. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 54–64. IEEE, 2007.
[22]
S. Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave. Matching and Merging of Variant Feature Specifications. IEEE Transactions on Software Engineering (TSE), 38 (6):1355–1375, 2012.
[23]
N. H. Pham, H. A. Nguyen, T. T. Nguyen, J. M. Al-Kofahi, and T. N. Nguyen. Complete and Accurate Clone Detection in Graph-based Models. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 276–286. IEEE, 2009.
[24]
J. Rubin and M. Chechik. Combining Related Products into Product Lines. In Proc. of the Intl. Conference on Fundamental Approaches to Software Engineering (FASE), volume 7212, pages 285–300. Springer, 2012.
[25]
J. Rubin and M. Chechik. Domain Engineering: Product Lines, Languages, and Conceptual Models, chapter A Survey of Feature Location Techniques, pages 29–58. Springer, 2013.
[26]
J. Rubin and M. Chechik. N-way Model Merging. In Proc. of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE), pages 301–311. ACM, 2013.
[27]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. Automatic Variation-point Identification in Function-block-based Models. In Proc. of the Intl. Conference on Generative Programming and Component Engineering (GPCE), pages 23– 32. ACM, 2010.
[28]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. Extraction of Feature Models from Formal Contexts. In Proc. of the Intl. Software Product Line Conference (SPLC), pages 4:1–4:8. ACM, 2011.
[29]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. Automatic library migration for the generation of hardware-in-the-loop models. Science of Computer Programming, 77(2):83–95, 2012.
[30]
M. Sabetzadeh and S. Easterbrook. Analysis of Inconsistency in Graph-Based Viewpoints: A Category-Theoretic Approach. In Proc. of the Intl. Conference on Automated Software Engineering (ASE), pages 12–21. IEEE, 2003.
[31]
S. She, R. Lotufo, T. Berger, A. Wasowski, and K. Czarnecki. Reverse Engineering Feature Models. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 461–470. IEEE, 2011.
[32]
M. Stephan and J. R. Cordy. A Survey of Methods and Applications of Model Comparison. Technical Report 582, School of Computing, Queen’s University, Kingston, Ontario, Canada, 2011.
[33]
S. Uchitel and M. Chechik. Merging Partial Behavioural Models. In Proc. of the Intl. Symposium on the Foundations of Software Engineering (FSE), pages 43–52. ACM, 2004.
[34]
M. von der Beeck. A Comparison of Statecharts Variants. In Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 863, pages 128–148. Springer, 1994.
[35]
S. Wenzel and U. Kelter. Model-Driven Design Pattern Detection Using Difference Calculation. In Workshop on Design Patterns Detection for Reverse Engineering (DPD4RE). IEEE, 2006.
[36]
N. Weston, R. Chitchyan, and A. Rashid. A Framework for Constructing Semantically Composable Feature Models from Natural Language Requirements. In Proc. of the Intl. Software Product Line Conference (SPLC), pages 211–220. ACM, 2009.
[37]
J. Whittle and J. Schumann. Generating Statechart Designs From Scenarios. In Proc. of the Intl. Conference on Software Engineering (ICSE), pages 314–323. ACM, 2000.
[38]
D. Wille. Managing Lots of Models: The FaMine Approach. In Proc. of the Intl. Symposium on the Foundations of Software Engineering (FSE), pages 817–819. ACM, 2014.
[39]
D. Wille, S. Holthusen, S. Schulze, and I. Schaefer. Interface Variability in Family Model Mining. In Proc. of the Intl. Workshop on Model-Driven Approaches in Software Product Line Engineering (MAPLE), pages 44–51. ACM, 2013.
[40]
D. Wille, S. Schulze, C. Seidl, and I. Schaefer. Custom-Tailored Variability Mining for Block-Based Languages. In Proc. of the Intl. Conference on Software Analysis, Evolution, and Reengineering (SANER), volume 1, pages 271–282. IEEE, 2016.
[41]
Z. Xing and E. Stroulia. UMLDiff: An Algorithm for Objectoriented Design Differencing. In Proc. of the Intl. Conference on Automated Software Engineering (ASE), ASE ’05, pages 54–65. ACM, 2005.
[42]
X. Zhang, Ø. Haugen, and B. Møller-Pedersen. Model Comparison to Synthesize a Model-Driven Software Product Line. In Proc. of the Intl. Software Product Line Conference (SPLC), pages 90–99. IEEE, 2011.

Cited By

View all
  • (2024)gLTSdiff: a generalized framework for structural comparison of software behaviorSoftware and Systems Modeling10.1007/s10270-024-01239-0Online publication date: 28-Nov-2024
  • (2022)RaQuN: a generic and scalable n-way model matching algorithmSoftware and Systems Modeling10.1007/s10270-022-01062-522:5(1495-1517)Online publication date: 21-Nov-2022
  • (2022)ModelVars2SPL: From UML Class Diagram Variants to Software Product Line Core AssetsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_9(221-250)Online publication date: 5-Jul-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FOSD 2016: Proceedings of the 7th International Workshop on Feature-Oriented Software Development
October 2016
84 pages
ISBN:9781450346474
DOI:10.1145/3001867
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 October 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. block-based language
  2. clone-and-own
  3. state charts
  4. variability mining

Qualifiers

  • Research-article

Conference

SPLASH '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 28 submissions, 61%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)gLTSdiff: a generalized framework for structural comparison of software behaviorSoftware and Systems Modeling10.1007/s10270-024-01239-0Online publication date: 28-Nov-2024
  • (2022)RaQuN: a generic and scalable n-way model matching algorithmSoftware and Systems Modeling10.1007/s10270-022-01062-522:5(1495-1517)Online publication date: 21-Nov-2022
  • (2022)ModelVars2SPL: From UML Class Diagram Variants to Software Product Line Core AssetsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_9(221-250)Online publication date: 5-Jul-2022
  • (2022)Object Parsing Expressions for Unplanned, Unmodified, and Incremental Grammar ReuseSoftware Technologies10.1007/978-3-031-11513-4_2(24-40)Online publication date: 18-Jul-2022
  • (2021)Scalable N-Way Model Matching Using Multi-Dimensional Search Trees2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS50736.2021.00010(1-12)Online publication date: Oct-2021
  • (2021)A novel approach for Software Architecture Product Line EngineeringJournal of Systems and Software10.1016/j.jss.2021.111191(111191)Online publication date: Dec-2021
  • (2020)On the use of product-line variants as experimental subjects for clone-and-own researchProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414972(1-6)Online publication date: 19-Oct-2020
  • (2020)Automatic extraction of product line architecture and feature models from UML class diagram variantsInformation and Software Technology10.1016/j.infsof.2019.106198117:COnline publication date: 1-Jan-2020
  • (2020)DSL as Variable SoftwareVariable Domain-specific Software Languages with DjDSL10.1007/978-3-030-42152-6_1(1-31)Online publication date: 10-Jul-2020
  • (2017)Extractive software product line engineering using model-based delta module generationProceedings of the 11th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3023956.3023957(36-43)Online publication date: 1-Feb-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media