Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

<italic>We&#x2019;re Not Gonna Break It!</italic> Consistency-Preserving Operators for Efficient Product Line Configuration

Published: 01 March 2023 Publication History

Abstract

When configuring a software product line, finding a good trade-off between multiple orthogonal quality concerns is a challenging multi-objective optimisation problem. State-of-the-art solutions based on search-based techniques create invalid configurations in intermediate steps, requiring additional repair actions that reduce the efficiency of the search. In this work, we introduce <italic>consistency-preserving configuration operators</italic> (CPCOs)&#x2014;genetic operators that maintain valid configurations throughout the entire search. CPCOs bundle coherent sets of changes: the activation or deactivation of a particular feature together with other (de)activations that are needed to preserve validity. In our evaluation, our instantiation of the IBEA algorithm with CPCOs outperforms two state-of-the-art tools for optimal product line configuration in terms of both speed and solution quality. The improvements are especially pronounced in large product lines with thousands of features.

References

[1]
S. Apel, D. S. Batory, C. Kästner, and G. Saake, Feature-Oriented Software Product Lines - Concepts and Implementation, Berlin, Germany: Springer, 2013.
[2]
K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson, “Feature-oriented domain analysis (FODA) feasibility study,” Softw. Eng. Inst., Carnegie-Mellon Univ., Pittsburgh, PA, USA, Tech. Rep. CMU/SEI-90-TR-21, 1990.
[3]
D. Benavides, P. Trinidad, and A. Ruiz-Cortés, “Automated reasoning on feature models,” in Proc. Int. Conf. Adv. Inf. Syst. Eng., 2005, pp. 491–503.
[4]
L. Ochoa, O. G. Rojas, J. A. Pereira, H. Castro, and G. Saake, “A systematic literature review on the semi-automatic configuration of extended product lines,” J. Syst. Softw., vol. 144, pp. 511–532, 2018.
[5]
J. A. Pereira, M. Acher, H. Martin, J.-M. Jézéquel, G. Botterweck, and A. Ventresque, “Learning software configuration spaces: A systematic literature review,” J. Syst. Softw., vol. 182, 2021, Art. no.
[6]
A. S. Sayyad, J. Ingram, T. Menzies, and H. Ammar, “Scalable product line configuration: A straw to break the camel's back,” in Proc. 28th IEEE/ACM Int. Conf. Automated Softw. Eng., 2013, pp. 465–474.
[7]
A. S. Sayyad, T. Menzies, and H. Ammar, “On the value of user preferences in search-based software engineering: A case study in software product lines,” in Proc. 35th Int. Conf. Softw. Eng., 2013, pp. 492–501.
[8]
G. G. Pascual, R. E. Lopez-Herrejon, M. Pinto, L. Fuentes, and A. Egyed, “Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications,” J. Syst. Softw., vol. 103, pp. 392–411, 2015.
[9]
N. Siegmund, S. Sobernig, and S. Apel, “Attributed variability models: Outside the comfort zone,” in Proc. 11th Joint Meeting Foundations Softw. Eng., 2017, pp. 268–278.
[10]
J. Guo and K. Shi, “To preserve or not to preserve invalid solutions in search-based software engineering: A case study in software product lines,” in Proc. 40th Int. Conf. Softw. Eng., 2018, pp. 1027–1038.
[11]
C. Henard, M. Papadakis, M. Harman, and Y. L. Traon, “Combining multi-objective search and constraint solving for configuring large software product lines,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2015, pp. 517–528.
[12]
D. Strüber, J. Rubin, T. Arendt, M. Chechik, G. Taentzer, and J. Plöger, “Variability-based model transformation: Formal foundation and application,” Formal Aspects Comput., vol. 30, no. 1, pp. 133–162, 2018.
[13]
J.-M. Horcas, D. Strüber, A. Burdusel, J. Martinez, and S. Zschaler, “Online appendix,” 2021. [Online]. Available: https://doi.org/10.5281/zenodo.6457582
[14]
D. Strüberet al., “Henshin: A usability-focused framework for EMF model transformation development,” in Proc. Int. Conf. Graph Transformation, 2017, pp. 196–208.
[15]
E. Figueiredoet al., “Evolving software product lines with aspects,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2008, pp. 261–270.
[16]
D. Benavides, S. Segura, and A. R. Cortés, “Automated analysis of feature models 20 years later: A literature review,” Inf. Syst., vol. 35, no. 6, pp. 615–636, 2010.
[17]
T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich, “FeatureIDE: An extensible framework for feature-oriented software development,” Sci. Comput. Program., vol. 79, pp. 70–85, 2014.
[18]
J. M. Horcas, “WeaFQAs: A software product line approach for customizing and weaving efficient functional quality attributes,” Ph.D. dissertation, Universidad de Malaga, Jul. 2018. [Online]. Available: https://hdl.handle.net/10630/17231
[19]
J. J. Durillo and A. J. Nebro, “jMetal: A Java framework for multi-objective optimization,” Adv. Eng. Softw., vol. 42, no. 10, pp. 760–771, 2011.
[20]
Y. Xiang, X. Yang, Y. Zhou, Z. Zheng, M. Li, and H. Huang, “Going deeper with optimal software products selection using many-objective optimization and satisfiability solvers,” Empir. Softw. Eng., vol. 25, no. 1, pp. 591–626, 2020.
[21]
N. Siegmund, M. Rosenmüller, C. Kästner, P. G. Giarrusso, S. Apel, and S. S. Kolesnikov, “Scalable prediction of non-functional properties in software product lines: Footprint and memory consumption,” Inf. Softw. Technol., vol. 55, no. 3, pp. 491–507, 2013.
[22]
A. Knüppel, T. Thüm, S. Mennicke, J. Meinicke, and I. Schaefer, “Is there a mismatch between real-world feature models and product-line research?,” in Proc. 11th Joint Meeting Foundations Softw. Eng., 2017, pp. 291–302.
[23]
E. Zitzler and L. Thiele, “Multiobjective evolutionary algorithms: A comparative case study and the strength pareto approach,” IEEE Trans. Evol. Computation, vol. 3, no. 4, pp. 257–271, Nov. 1999.
[24]
A. P. Guerreiro, C. M. Fonseca, and L. Paquete, “The hypervolume indicator: Problems and algorithms,” CoRR, vol. abs/2005.00515, 2020. [Online]. Available: https://arxiv.org/abs/2005.00515
[25]
A. Arcuri and L. C. Briand, “A hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering,” Softw. Test., Verif. Reliab., vol. 24, no. 3, pp. 219–250, 2014.
[26]
A. Vargha and H. D. Delaney, “A critique and improvement of the CL common language effect size statistics of McGraw and Wong,” J. Educ. Behav. Statist., vol. 25, no. 2, pp. 101–132, 2000.
[27]
A. Sülflow, N. Drechsler, and R. Drechsler, “Incorporating user preferences in many-objective optimization using relation ϵ-preferred,” in Proc. Int. Conf. Evol. Multi-Criterion Optim., 2007, pp. 715–726.
[28]
T. Bergeret al., “A survey of variability modeling in industrial practice,” in Proc. 7th Int. Workshop Variability Modelling Softw.-Intensive Syst., 2013, pp. 1–8.
[29]
S. Nadi, T. Berger, C. Kästner, and K. Czarnecki, “Where do configuration constraints stem from? An extraction approach and an empirical study,” IEEE Trans. Softw. Eng., vol. 41, no. 8, pp. 820–841, Aug. 2015.
[30]
K. Czarnecki, S. Helsen, and U. W. Eisenecker, “Formalizing cardinality-based feature models and their specialization,” Softw. Process: Improvement Pract., vol. 10, no. 1, pp. 7–29, 2005.
[31]
D. Munoz, J. Oh, M. Pinto, L. Fuentes, and D. S. Batory, “Uniform random sampling product configurations of feature models that have numerical features,” in Proc. 23rd Int. Syst. Softw. Product Line Conf., 2019, pp. 289–301.
[32]
J. García-Galán, P. Trinidad, O. F. Rana, and A. Ruiz-Cortés, “Automated configuration support for infrastructure migration to the cloud,” Future Gener. Comput. Syst., vol. 55, pp. 200–212, 2016.
[33]
Y. Xiang, Y. Zhou, Z. Zheng, and M. Li, “Configuring software product lines by combining many-objective optimization and SAT solvers,” ACM Trans. Softw. Eng. Methodol., vol. 26, no. 4, pp. 1–46, 2018.
[34]
R. Mazo, C. Dumitrescu, C. Salinesi, and D. Diaz, “Recommendation heuristics for improving product line configuration processes,” in Recommendation Systems in Software Engineering, Berlin, Germany: Springer, 2014, pp. 511–537.
[35]
J. A. Pereira, J. Martinez, H. K. Gurudu, S. Krieter, and G. Saake, “Visual guidance for product line configuration using recommendations and non-functional properties,” in Proc. 33rd Annu. ACM Symp. Appl. Comput., 2018, pp. 2058–2065.
[36]
J. Martinez, T. Ziadi, R. Mazo, T. F. Bissyandé, J. Klein, and Y. L. Traon, “Feature relations graphs: A visualisation paradigm for feature constraints in software product lines,” in Proc. 2nd IEEE Work. Conf. Softw. Vis., 2014, pp. 50–59.
[37]
Y. Xiong, A. Hubaux, S. She, and K. Czarnecki, “Generating range fixes for software configuration,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2012, pp. 58–68.
[38]
D. Benavides, S. Segura, P. Trinidad, and A. R. Cortés, “FAMA: Tooling a framework for the automated analysis of feature models,” in Proc. 1st Int. Workshop Variability Modelling Softw.-Intensive Syst., 2007, pp. 129–134.
[39]
S. Krieter, T. Thüm, S. Schulze, R. Schröter, and G. Saake, “Propagating configuration decisions with modal implication graphs,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2018, pp. 898–909.
[40]
N. Siegmund, M. Rosenmüller, M. Kuhlemann, C. Kästner, S. Apel, and G. Saake, “SPL conqueror: Toward optimization of non-functional properties in software product lines,” Softw. Qual. J., vol. 20, no. 3–4, pp. 487–517, 2012.
[41]
J. A. Pereira, “Search-based product configuration in software product lines,” Master thesis, Federal Univ. Minas Gerais, Belo Horizonte, MG, Brazil, April 2014. [Online]. Available: https://repositorio.ufmg.br/handle/1843/ESBF-9Q4FQ9
[42]
R. Olaechea, S. Stewart, K. Czarnecki, and D. Rayside, “Modelling and multi-objective optimization of quality attributes in variability-rich software,” in Proc. 4th Int. Workshop Nonfunctional Syst. Properties Domain Specific Model. Lang., 2012, pp. 2:1–6.
[43]
V. Nair, T. Menzies, N. Siegmund, and S. Apel, “Faster discovery of faster system configurations with spectral learning,” Automated Softw. Eng., vol. 25, no. 2, pp. 247–277, 2018.
[44]
J. Oh, D. Batory, M. Myers, and N. Siegmund, “Finding near-optimal configurations in product lines by random sampling,” in Proc. 11th Joint Meeting Foundations Softw. Eng., 2017, pp. 61–71.
[45]
D. Batory, J. Oh, R. Heradio, and D. Benavides, Product Optimization in Stepwise Design, Berlin, Germany: Springer, 2021, pp. 63–81.
[46]
D. S. Batory, “Feature models, grammars, and propositional formulas,” in Proc. Int. Conf. Softw. Product Lines, 2005, pp. 7–20.
[47]
M. Lienhardt, F. Damiani, E. B. Johnsen, and J. Mauro, “Lazy product discovery in huge configuration spaces,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2020, pp. 1509–1521.
[48]
R. Schröter, S. Krieter, T. Thüm, F. Benduhn, and G. Saake, “Feature-model interfaces: The highway to compositional analyses of highly-configurable systems,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2016, pp. 667–678.
[49]
K. Czarnecki, S. Helsen, and U. W. Eisenecker, “Staged configuration through specialization and multilevel configuration of feature models,” Softw. Process: Improvement Pract., vol. 10, no. 2, pp. 143–169, 2005.
[50]
E. K. Abbasi, A. Hubaux, and P. Heymans, “A toolset for feature-based configuration workflows,” in Proc. 15th Int. Softw. Product Line Conf., 2011, pp. 65–69.
[51]
K. Peng, C. Kaltenecker, N. Siegmund, S. Apel, and T. Menzies, “VEER: Disagreement-free multi-objective configuration,” 2021. [Online]. Available: https://arxiv.org/abs/2106.02716
[52]
Á. Hegedüs, Á. Horváth, and D. Varró, “A model-driven framework for guided design space exploration,” Automated Softw. Engi., vol. 22, no. 3, pp. 399–436, 2015.
[53]
M. Fleck, J. Troya, and M. Wimmer, “Search-based model transformations with momot,” in Proc. Int. Conf. Theory Pract. Model Transformations, 2016, pp. 79–87.
[54]
A. Burdusel, S. Zschaler, and D. Strüber, “MDEoptimiser: A search based model engineering tool,” in Proc. 21st ACM/IEEE Int. Conf. Model Driven Eng. Lang. Syst.: Companion Proc., 2018, pp. 12–16.
[55]
J. Kosiol, D. Strüber, G. Taentzer, and S. Zschaler, “Sustaining and improving graduated graph consistency: A static analysis of graph transformations,” Sci. Comput. Program., vol. 214, 2022. [Online]. Available: https://doi.org/10.1016/j.scico.2021.102729
[56]
T. Kehrer, G. Taentzer, M. Rindt, and U. Kelter, “Automatically deriving the specification of model editing operations from meta-models,” in Proc. Int. Conf. Theory Pract. Model Transformations, 2016, pp. 173–188.
[57]
A. Burdusel, S. Zschaler, and S. John, “Automatic generation of atomic consistency preserving search operators for search-based model engineering,” in Proc. ACM/IEEE 22nd Int. Conf. Model Driven Eng. Lang. Syst., 2019, pp. 106–116.
[58]
A. Burdusel and S. Zschaler, “Towards automatic generation of evolution rules for model-driven optimisation,” in Proc. Federation Int. Conf. Softw. Technol.: Appl. Foundations Workshops, 2017, pp. 60–75.
[59]
D. Strüberet al., “Facing the truth: Benchmarking the techniques for the evolution of variant-rich systems,” in Proc. 23rd Int. Syst. Softw. Product Line Conf., 2019, pp. 177–188.
[60]
L. Lambers, D. Strüber, G. Taentzer, K. Born, and J. Huebert, “Multi-granular conflict and dependency analysis in software engineering based on graph transformation,” in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., 2018, pp. 716–727.
[61]
T. Thüm, S. Apel, C. Kästner, I. Schaefer, and G. Saake, “A classification and survey of analysis strategies for software product lines,” ACM Comput. Surv., vol. 47, no. 1, pp. 1–45, 2014.

Cited By

View all
  • (2024)On the Application of Model-Driven Optimization to Business ProcessesApplication and Theory of Petri Nets and Concurrency10.1007/978-3-031-61433-0_2(24-35)Online publication date: 26-Jun-2024
  • (2023)Multi-Misconfiguration Diagnosis via Identifying Correlated Configuration ParametersIEEE Transactions on Software Engineering10.1109/TSE.2023.330875549:10(4624-4638)Online publication date: 1-Oct-2023
  • (2023)A graph-based framework for model-driven optimization facilitating impact analysis of mutation operator propertiesSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01078-x22:4(1281-1318)Online publication date: 17-Jan-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 49, Issue 3
March 2023
450 pages

Publisher

IEEE Press

Publication History

Published: 01 March 2023

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)On the Application of Model-Driven Optimization to Business ProcessesApplication and Theory of Petri Nets and Concurrency10.1007/978-3-031-61433-0_2(24-35)Online publication date: 26-Jun-2024
  • (2023)Multi-Misconfiguration Diagnosis via Identifying Correlated Configuration ParametersIEEE Transactions on Software Engineering10.1109/TSE.2023.330875549:10(4624-4638)Online publication date: 1-Oct-2023
  • (2023)A graph-based framework for model-driven optimization facilitating impact analysis of mutation operator propertiesSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01078-x22:4(1281-1318)Online publication date: 17-Jan-2023
  • (2023)Finding the Right Way to Rome: Effect-Oriented Graph TransformationGraph Transformation10.1007/978-3-031-36709-0_3(43-63)Online publication date: 19-Jul-2023
  • (2022)A multiplicity-preserving crossover operator on graphsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3550356.3561587(588-597)Online publication date: 23-Oct-2022
  • (2022)AcapulcoProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547067(50-53)Online publication date: 12-Sep-2022
  • (undefined)Adaptive modelling languages: Abstract syntax and model migrationACM Transactions on Software Engineering and Methodology10.1145/3702975

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media