skip to main content
10.1145/2934466.2962726acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Synchronizing software variants with variantsync

Published: 16 September 2016 Publication History

Abstract

Developing and managing software variants is a key challenge in today's software development. Due to conflicting requirements, software is developed in multiple variants to satisfy the needs of individual customers. While software product lines allow the efficient development of a high number of variants, many projects in industrial software development start with few variants, where each variant is developed separately. Unfortunately, for an increasing number of variants, this clone-and-own approach becomes error-prone and unprofitable regarding synchronization of changes between variants. With VariantSync, we demonstrate a tool to reduce the gap between clone-and-own and product lines by automating the synchronization of software variants and simplifying a potential later transition to a product line.

References

[1]
M. Alférez, R. E. Lopez-Herrejon, A. Moreira, V. Amaral, and A. Egyed. Supporting Consistency Checking Between Features and Software Product Line Use Scenarios. In ICSR, pages 20--35. Springer, 2011.
[2]
V. Alves, R. Gheyi, T. Massoni, U. Kulesza, P. Borba, and C. J. P. de Lucena. Refactoring Product Lines. In GPCE, pages 201--210. ACM, 2006.
[3]
V. Alves, P. Matos, L. Cole, P. Borba, and G. Ramalho. Extracting and Evolving Mobile Games Product Lines. In SPLC, pages 70--81. Springer, 2005.
[4]
M. Antkiewicz, W. Ji, T. Berger, K. Czarnecki, T. Schmorleiz, R. Lämmel, S. Stănciulescu, A. Wąsowski, and I. Schaefer. Flexible Product Line Engineering with a Virtual Platform. In ICSE, pages 532--535. ACM, 2014.
[5]
S. Apel, D. Batory, C. Kästner, and G. Saake. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, 2013.
[6]
P. Borba, L. Teixeira, and R. Gheyi. A Theory of Software Product Line Refinement. TCS, 455(0):2--30, 2012.
[7]
R. Conradi and B. Westfechtel. Version Models for Software Configuration Management. CSUR, 30(2):232--282, 1998.
[8]
Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. An Exploratory Study of Cloning in Industrial Software Product Lines. In CSMR, pages 25--34. IEEE, 2013.
[9]
S. Fischer, L. Linsbauer, R. E. Lopez-Herrejon, and A. Egyed. The ECCO Tool: Extraction and Composition for Clone-and-Own. In ICSE, pages 665--668. IEEE, 2015.
[10]
W. Hofer, C. Elsner, F. Blendinger, W. Schröder-Preikschat, and D. Lohmann. Toolchain-Independent Variant Management with the Leviathan Filesystem. In FOSD, pages 18--24. ACM, 2010.
[11]
H. P. Jepsen, J. G. Dall, and D. Beuche. Minimally Invasive Migration to Software Product Lines. In SPLC, pages 203--211. IEEE, 2007.
[12]
W. Ji, T. Berger, M. Antkiewicz, and K. Czarnecki. Maintaining Feature Traceability with Embedded Annotations. In SPLC, pages 61--70. ACM, 2015.
[13]
B. Klatt, K. Krogmann, and C. Seidl. Program Dependency Analysis for Consolidating Customized Product Copies. In ICSME, pages 496--500. IEEE, 2014.
[14]
R. Koschke, P. Frenzel, A. P. Breu, and K. Angstmann. Extending the Reflexion Method for Consolidating Software Variants into Product Lines. SQJ, 17(4):331--366, 2009.
[15]
J. Liebig, A. Janker, F. Garbe, S. Apel, and C. Lengauer. Morpheus: Variability-Aware Refactoring in the Wild. In ICSE, pages 380--391. IEEE, 2015.
[16]
J. Liebig, A. von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer. Scalable Analysis of Variable Software. In ESECFSE, pages 81--91. ACM, 2013.
[17]
L. Linsbauer, R. E. Lopez-Herrejon, and A. Egyed. Variability Extraction and Modeling for Product Variants. SoSyM, 2016. To appear.
[18]
J. Martinez, T. Ziadi, T. F. Bissyandé, J. Klein, and Y. Le Traon. Bottom-Up Adoption of Software Product Lines: A Generic and Extensible Approach. In SPLC, pages 101--110. ACM, 2015.
[19]
J. D. McGregor, L. M. Northrop, S. Jarrad, and K. Pohl. Initiating Software Product Lines. IEEE Software, 19(4):24--27, 2002.
[20]
J. Meinicke, T. Thüm, R. Schröter, S. Krieter, F. Benduhn, G. Saake, and T. Leich. FeatureIDE: Taming the Preprocessor Wilderness. In ICSE, pages 629--632. ACM, 2016.
[21]
T. Mens. A State-of-the-Art Survey on Software Merging. TSE, 28(5):449--462, 2002.
[22]
B. O'Sullivan. Making Sense of Revision-control Systems. Queue - File Systems, 7(7):30, 2009.
[23]
T. Pfofe. Automating the Synchronization of Software Variants. Master's thesis, University of Magdeburg, Germany, 2016.
[24]
K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005.
[25]
J. Rubin and M. Chechik. Combining Related Products into Product Lines. In FASE, pages 285--300. Springer, 2012.
[26]
J. Rubin and M. Chechik. A Survey of Feature Location Techniques. In I. Reinhartz-Berger, A. Sturm, T. Clark, S. Cohen, and J. Bettin, editors, Domain Engineering: Product Lines, Languages, and Conceptual Models, pages 29--58. Springer, 2013.
[27]
J. Rubin, K. Czarnecki, and M. Chechik. Managing Cloned Variants: A Framework and Experience. In SPLC, pages 101--110. ACM, 2013.
[28]
T. Schmorleiz and R. Lämmel. Similarity Management via History Annotation. In SATToSE, pages 45--48. Dipartimento di Informatica Università degli Studi dell'Aquila, L'Aquila, Italy, 2014.
[29]
M. Staples and D. Hill. Experiences Adopting Software Product Line Development without a Product Line Architecture. In APSEC, pages 176--183. IEEE, 2004.
[30]
S. Stănciulescu, S. Schulze, and A. Wąsowski. Forked and Integrated Variants in an Open-Source Firmware Project. In ICSME, pages 151--160. IEEE, 2015.
[31]
T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich. FeatureIDE: An Extensible Framework for Feature-Oriented Software Development. SCP, 79(0):70--85, 2014.
[32]
J. H. Weber, A. Katahoire, and M. Price. Uncovering Variability Models for Software Ecosystems from Multi-Repository Structures. In VaMoS, pages 103:103--103:108. ACM, 2015.
[33]
K. Yoshimura, D. Ganesan, and D. Muthig. Assessing Merge Potential of Existing Engine Control Systems into a Product Line. In SEAS, pages 61--67. ACM, 2006.

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2023)Benchmark Generation with VEVOS: A Coverage Analysis of Evolution Scenarios in Variant-Rich SystemsProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571793(13-22)Online publication date: 25-Jan-2023
  • (2023)Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00035(284-295)Online publication date: Mar-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '16: Proceedings of the 20th International Systems and Software Product Line Conference
September 2016
367 pages
ISBN:9781450340502
DOI:10.1145/2934466
  • General Chair:
  • Hong Mei
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

  • Huawei Technologies Co. Ltd.: Huawei Technologies Co. Ltd.
  • Key Laboratory of High Confidence Software Technologies: Key Laboratory of High Confidence Software Technologies, Ministry of Education
  • DC Holdings: Digital China Holdings Limited

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. clone-and-own
  2. evolution
  3. software product lines

Qualifiers

  • Research-article

Conference

SPLC '16
Sponsor:
  • Huawei Technologies Co. Ltd.
  • Key Laboratory of High Confidence Software Technologies
  • DC Holdings

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2023)Benchmark Generation with VEVOS: A Coverage Analysis of Evolution Scenarios in Variant-Rich SystemsProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571793(13-22)Online publication date: 25-Jan-2023
  • (2023)Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00035(284-295)Online publication date: Mar-2023
  • (2023)A benchmark generator framework for evolving variant-rich softwareJournal of Systems and Software10.1016/j.jss.2023.111736203(111736)Online publication date: Sep-2023
  • (2023)Analyzing Variant Forks of Software Repositories from Social Coding PlatformsSoftware Ecosystems10.1007/978-3-031-36060-2_6(131-152)Online publication date: 26-May-2023
  • (2022)Sometimes you have to treat the symptoms: tackling model drift in an industrial clone-and-own software product lineProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558960(1355-1366)Online publication date: 7-Nov-2022
  • (2022)PaReco: patched clones and missed patches among the divergent variants of a software familyProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549112(646-658)Online publication date: 7-Nov-2022
  • (2022)Synchronizing software variantsProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547053(82-89)Online publication date: 12-Sep-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)Feature-oriented clone and pull operations for distributed development and evolutionSoftware Quality Journal10.1007/s11219-022-09591-430:4(1039-1066)Online publication date: 25-May-2022
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media