Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2866614.2866616acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Aligning Coevolving Artifacts Between Software Product Lines and Products

Published: 27 January 2016 Publication History

Abstract

Software product lines (SPLs) play a pivotal role for developing a vast amount of related programs efficiently and with high quality. To this end, the SPL engineering process is separated into two levels: domain engineering (DE), which captures variability and development artifacts of the entire SPL, and application engineering (AE), which encompasses a variant-specific subset of the aforementioned artifacts. In the industrial practice of evolving an SPL, it is common that evolution is performed on both levels, which may affect the same artifacts (e.g., code, models) in different ways due to changes on the product line (DE) and the variant level (AE). As a result, conflicts may arise that have to be solved properly to guarantee correctness and validity of the affected artifacts. In this paper, we propose a methodology for resolving such conflicts to ensure correctness and consistency among artifacts while minimizing manual effort. Our method is comprehensive in two ways: First, we consider all kinds of artifacts (code and non-code) that may be subject to evolutionary changes in both DE and AE. Second, we also take into account that changing one particular artifact (e.g., a requirement) may require further changes to other artifacts of the same level. This way, our method reflects common industrial practices in SPL development and, thus, provides benefits for efficiently evolving real-world SPLs.

References

[1]
G. Botterweck, A. Pleuss, D. Dhungana, A. Polzer, and S. Kowalewski. "EvoFM: feature-driven planning of product-line evolution". In: Proceedings of the Workshop on Product Line Approaches in Software Engineering (PLEASE). ACM, 2010, pp. 24--31.
[2]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing, 2001.
[3]
K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, 2000.
[4]
S. Duszynski, J. Knodel, and M. Becker. "Analyzing the Source Code of Multiple Software Variants for Reuse Potential". In: Proceedings of the Working Conference on Reverse Engineering (WCRE). IEEE, 2011, pp. 303--307.
[5]
W. Jirapanthong and A. Zisman. "XTraQue: Traceability for Product Line Systems". In: Software & Systems Modeling (SOSYM) (2009).
[6]
M. M. Lehman. "Programs, Life Cycles, and Laws of Software Evolution". In: Proceedings of the IEEE 68.9 (1980), pp. 1060--1076.
[7]
T. Mens, A. Serebrenik, and A. Cleve. Evolving Software Systems. Springer, 2014.
[8]
L. Passos, K. Czarnecki, S. Apel, A. Wąsowski, C. Kästner, and J. Guo. "Feature-oriented Software Evolution". In: Proceedings of the International Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 2013, 17:1--17:8.
[9]
L. Passos, L. Teixeira, D. Nicolas, S. Apel, A. Wasowski, K. Czarnecki, P. Borba, and J. Guo. "Coevolution of Variability Models and Related Software Artifacts: A Fresh Look at Evolution Patterns in the Linux Kernel". In: Empirical Software Engineering (2015). To appear.
[10]
K. Pohl, G. Böckle, and F. J. Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005.
[11]
J. Rubin and M. Chechik."A Framework for Managing Cloned Product Variants". In: Proceedings of the International Conference on Software Engineering (ICSE). IEEE, 2013, pp. 1233--1236.
[12]
J. Rubin, K. Czarnecki, and M. Chechik. "Managing Cloned Variants: A Framework and Experience". In: Proceedings of the International Software Product Line Conference (SPLC). ACM, 2013, pp. 101--110.
[13]
C. Seidl, F. Heidenreich, and U. Aßmann."Co-Evolution of Models and Feature Mapping in Software Product Lines". In: Proceedings of the International Software Product Line Conference (SPLC). 2012.
[14]
M. Svahnberg and J. Bosch. "Evolution in Software Product Lines". In: Journal of Software Maintenance and Evolution 11.6 (1999), pp. 391--422.
[15]
M. Vierhauser, P. Grünbacher, A. Egyed, R. Rabiser, and W. Heider. "Flexible and Scalable Consistency Checking on Product Line Variability Models". In: Proceedings of the International Conference on Automated Software Engineering (ASE). 2010.

Cited By

View all
  • (2024)Verifying consistency of software product line architectures with product architecturesSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01114-423:1(195-221)Online publication date: 1-Feb-2024
  • (2022)Transferring Performance between Distinct Configurable Systems : A Case StudyProceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3510466.3510486(1-6)Online publication date: 23-Feb-2022
  • (2022)Visualizing the customization endeavor in product-based-evolving software product lines: a case of action design researchEmpirical Software Engineering10.1007/s10664-021-10101-627:3Online publication date: 1-May-2022
  • 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
VaMoS '16: Proceedings of the 10th International Workshop on Variability Modelling of Software-Intensive Systems
January 2016
116 pages
ISBN:9781450340199
DOI:10.1145/2866614
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 the author(s) 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

  • SBC: Sociedade Brasileira de Computação
  • FAPESB: Fundação de Amparo à Pesquisa do Estado da Bahia
  • University of Brasília: University of Brasília
  • Technische Universität Braunschweig

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 January 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SPL engineering
  2. software evolution

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

VaMoS '16

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Verifying consistency of software product line architectures with product architecturesSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01114-423:1(195-221)Online publication date: 1-Feb-2024
  • (2022)Transferring Performance between Distinct Configurable Systems : A Case StudyProceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3510466.3510486(1-6)Online publication date: 23-Feb-2022
  • (2022)Visualizing the customization endeavor in product-based-evolving software product lines: a case of action design researchEmpirical Software Engineering10.1007/s10664-021-10101-627:3Online publication date: 1-May-2022
  • (2022)A conceptual model for unifying variability in space and time: Rationale, validation, and illustrative applicationsEmpirical Software Engineering10.1007/s10664-021-10097-z27:5Online publication date: 1-Sep-2022
  • (2022)Empirical analysis of the tool support for software product linesSoftware and Systems Modeling10.1007/s10270-022-01011-222:1(377-414)Online publication date: 8-Jun-2022
  • (2022)Evolution in Software Product Lines: An OverviewHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_20(495-512)Online publication date: 5-Jul-2022
  • (2021)Bridging the gap between clone-and-own and software product linesProceedings of the 43rd International Conference on Software Engineering: New Ideas and Emerging Results10.1109/ICSE-NIER52604.2021.00013(21-25)Online publication date: 25-May-2021
  • (2020)Consistency-preserving evolution planning on feature modelsProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414964(1-12)Online publication date: 19-Oct-2020
  • (2020)Structurally evolving component-port-connector architectures of centrally controlled systemsProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377035(1-9)Online publication date: 5-Feb-2020
  • (2020)Syntax-preserving slicing of C-based software product linesProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377029(1-5)Online publication date: 5-Feb-2020
  • 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