zbMATH — the first resource for mathematics

Resource-usage-aware configuration in software product lines. (English) Zbl 1346.68071
Summary: Deriving concrete products from a product-line infrastructure requires resolving the variability captured in the product line, based on the company market strategy or requirements from specific customers. Selecting the most appropriate set of features for a product is a complex task, especially if quality requirements have to be considered. Resource-usage-aware configuration aims at providing awareness of resource-usage properties of artifacts throughout the configuration process. This article envisages several strategies for resource-usage-aware configuration which feature different performance and efficiency trade-offs. The common idea in all strategies is the use of resource-usage estimates obtained by an off-the-shelf static resource-usage analyzer as a heuristic for choosing among different candidate configurations. We report on a prototype implementation of the most practical strategies for resource-usage-aware configuration and apply it on an industrial case study.
68N99 Theory of software
Full Text: DOI
[1] Abbasi, E.; Hubaux, A.; Heymans, P., A toolset for feature-based configuration workflows, (Proceedings of SPLC, (2011)), 65-69
[2] Agha, G.; Callsen, C. J., Actorspace: an open distributed programming paradigm, (Proceedings of PPoPP, (1993)), 23-32
[3] Albert, E.; Alonso, D.; Arenas, P.; Genaim, S.; Puebla, G., Asymptotic resource usage bounds, (Proceedings of APLAS, Lect. Notes Comput. Sci., vol. 5904, (2009), Springer-Verlag), 294-310
[4] Albert, E.; Arenas, P.; Correas, J.; Genaim, S.; Gómez-Zamalloa, M.; Puebla, G.; Román-Díez, G., Object-sensitive cost analysis for concurrent objects, Software Testing, Verification and Reliability, 25, 3, 218-271, (2015)
[5] Albert, E.; Arenas, P.; Flores-Montoya, A.; Genaim, S.; Gómez-Zamalloa, M.; Martín-Martín, E.; Puebla, G.; Román-Díez, G., SACO: static analyzer for concurrent objects, (Proceedings of TACAS, Lect. Notes Comput. Sci., vol. 8413, (2014), Springer-Verlag), 562-567
[6] Albert, E.; Arenas, P.; Genaim, S.; Gómez-Zamalloa, M.; Puebla, G., COSTABS: a cost and termination analyzer for ABS, (Proceedings of PEPM, (2012), ACM Press), 151-154
[7] Albert, E.; Arenas, P.; Genaim, S.; Herraiz, I.; Puebla, G., Comparing cost functions in resource analysis, (Proceedings of FOPARA: Revised Selected Papers, Lect. Notes Comput. Sci., vol. 6324, (2009), Springer-Verlag), 1-17 · Zbl 1305.68051
[8] Albert, E.; Arenas, P.; Genaim, S.; Puebla, G.; Román-Díez, G., Conditional termination of loops over heap-allocated data, Sci. Comput. Program., 92, 2-24, (2014)
[9] Albert, E.; Correas, J.; Puebla, G.; Román-Díez, G., Incremental resource usage analysis, (Proceedings of PEPM, (2012), ACM Press), 25-34
[10] Albert, E.; Flores-Montoya, A.; Genaim, S.; Martin-Martin, E., Termination and cost analysis of loops with concurrent interleavings, (Proceedings of ATVA, Lect. Notes Comput. Sci., vol. 8172, (2013), Springer-Verlag), 349-364 · Zbl 1410.68080
[11] Batory, D.; Sarvela, J.; Rauschmayer, A., Scaling step-wise refinement, IEEE Trans. Softw. Eng., 30, 6, 355-371, (2004)
[12] Benavides, D.; Trinidad, P.; Ruiz-Cortez, A., Automated reasoning on feature models, (Proceedings of CAiSE, (2005), Springer-Verlag), 491-503
[13] Boer, F. S.D.; Hähnle, R.; Johnsen, E. B.; Schlatte, R.; Wong, P. Y.H., Formal modeling of resource management for cloud architectures: an industrial case study, (Proceedings of ESOCC, Lect. Notes Comput. Sci., vol. 7592, (2012), Springer-Verlag), 91-106
[14] Bosch, J.; Deelstra, S.; Sinnema, M., COVAMOF in systems and software variability management - concepts, tools and experiences, 141-150, (2013), Springer-Verlag
[15] Clarke, D.; Muschevici, R.; Proença, J.; Schaefer, I.; Schlatte, R., Variability modelling in the ABS language, (Proceedings of FMCO 2010, Lect. Notes Comput. Sci., vol. 6957, (2011), Springer-Verlag), 204-224
[16] Classen, A.; Boucher, Q.; Heymans, P., A text-based approach to feature modelling: syntax and semantics of TVL, Sci. Comput. Program., 1130-1143, (2010)
[17] Codish, M.; Debray, S.; Giacobazzi, R., Compositional analysis of modular logic programs, (Proceedings of POPL, (1993), ACM Press), 451-464
[18] Cousot, P.; Cousot, R., Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, (Proceedings of POPL, (1977), ACM Press), 238-252
[19] Cousot, P.; Cousot, R., Modular static program analysis, (Proceedings of CC, Lect. Notes Comput. Sci., vol. 2304, (2002), Springer-Verlag), 159-178 · Zbl 1051.68624
[20] Cousot, P.; Halbwachs, N., Automatic discovery of linear restraints among variables of a program, (Proceedings of POPL, (1978), ACM Press), 84-96
[21] Czarnecki, K.; Eisenecker, U., Generative programming, (2000), Addison-Wesley Longman Publishing Co., Inc.
[22] Czarnecki, K.; Helsen, S.; Eisenecker, U. W., Staged configuration through specialization and multi-level configuration of feature models, Softw. Process Improv. Pract., 10, 2, 143-169, (2005)
[23] Czarnecki, K.; She, S.; Wasowski, A., Sample spaces and feature models: there and back again, (Proceedings of SPLC, (2008)), 22-31
[24] Etxeberria, L.; Mendieta, G. S.; Belategi, L., Modelling variation in quality attributes, (Proceedings of VaMoS, (2007)), 51-59
[25] Flores-Montoya, A.; Hähnle, R., Resource analysis of complex programs with cost equations, (Proceedings of APLAS, Lect. Notes Comput. Sci., vol. 8858, (2014), Springer-Verlag), 275-295 · Zbl 1453.68047
[26] González-Baixauli, B.; do Prado Leite, J. C.S.; Mylopoulos, J., Visual variability analysis for goal models, (Proceedings of RE, (2004), IEEE), 198-207
[27] Gulwani, S.; Mehra, K. K.; Chilimbi, T. M., SPEED: precise and efficient static estimation of program computational complexity, (Proceedings of POPL, (2009), ACM Press), 127-139 · Zbl 1315.68095
[28] Guo, J.; White, J.; Wang, G.; Li, J.; Wang, Y., A genetic algorithm for optimized feature selection with resource constraints in software product lines, J. Syst. Softw., 84, 12, 2208-2221, (2011)
[29] Hermenegildo, M.; Puebla, G.; Marriott, K.; Stuckey, P., Incremental analysis of constraint logic programs, ACM Trans. Program. Lang. Syst., 22, 2, 187-223, (2000)
[30] Hoffmann, J.; Hofmann, M., Amortized resource analysis with polynomial potential, (Proceedings of ESOP, Lect. Notes Comput. Sci., vol. 6012, (2010), Springer-Verlag), 287-306 · Zbl 1260.68074
[31] Hubaux, A.; Classen, A.; Heymans, P., Formal modelling of feature configuration workflows, (Proceedings of SPLC, (2009)), 221-230
[32] Hubaux, A.; Heymans, P.; Schobbens, P.-Y.; Deridder, D.; Abbasi, E., Supporting multiple perspectives in feature-based configuration, Softw. Syst. Model., 1-23, (2011)
[33] Jarzabek, S.; Yang, B.; Yoeun, S., Addressing quality attributes in domain analysis for product lines, IEEE Softw., 153, 2, 61-73, (2006)
[34] Johnsen, E. B.; Hähnle, R.; Schäfer, J.; Schlatte, R.; Steffen, M., ABS: a core language for abstract behavioral specification, (Proceedings of FMCO, Lect. Notes Comput. Sci., vol. 6957, (2012), Springer-Verlag), 142-164
[35] Kang, K. C.; Cohen, S. G.; Hess, J. A.; Novak, W. E.; Peterson, A. S., Feature-oriented domain analysis (FODA) feasibility study, (1990), Technical Report CMU/SEI-90-TR-21, SEI
[36] Kiczales, G.; Lamping, J.; Mendhekar, A.; Maeda, C.; Lopes, C.; Loingtier, J.; Irwin, J., Aspect-oriented programming, (Proceedings of ECOOP, Lect. Notes Comput. Sci., vol. 1241, (1997)), 220-242
[37] Kolesnikov, S. S.; Apel, S.; Siegmund, N., Predicting quality attributes of software product lines using software and network measures and sampling, (Proceedings of VaMoS, (2013)), 1/5-5/5
[38] Kuusela, J.; Savolainen, J., Requirements engineering for product families, (Proceedings of ICSE, (2000), ACM Press), 61-69
[39] Lee, J.; Kang, K. C., A feature-oriented approach to developing dynamically reconfigurable products in product line engineering, (Proceedings of SPLC, (2006)), 131-140
[40] Murashkin, A.; Antkiewicz, M.; Rayside, D.; Czarnecki, K., Visualization and exploration of optimal variants in product line engineering, (Proceedings of SPLC, (2013), ACM), 111-115
[41] Pohl, K.; Böckle, G.; Van Der Linden, F., Software product line engineering: foundations, principles, and techniques, (2005), Springer-Verlag · Zbl 1075.68575
[42] Riebisch, M.; Böllert, K.; Streitferdt, D.; Philippow, I., Extending feature diagrams with UML multiplicities, (Proceedings of IDPT, (2002)), 23-27
[43] Sankaranarayanan, S.; Sipma, H.; Manna, Z., Non-linear loop invariant generation using Gröbner bases, (Proceedings of POPL, (2004), ACM Press), 318-329 · Zbl 1325.68071
[44] Schaefer, I.; Bettini, L.; Bono, V.; Damiani, F.; Tanzarella, N., Delta-oriented programming of software product lines, (Proceedings of SPLC, (2010)), 77-91
[45] Siegmund, N.; Kolesnikov, S. S.; Kästner, C.; Apel, S.; Batory, D. S.; Rosenmüller, M.; Saake, G., Predicting performance via automated feature-interaction detection, (Proceedings of ICSE, (2012)), 167-177
[46] Siegmund, N.; Rosenmüller, M.; Kästner, C.; Giarrusso, P. G.; Apel, S.; Kolesnikov, S. S., Scalable prediction of non-functional properties in software product lines, (Proceedings of SPLC, (2011)), 160-169
[47] Siegmund, N.; Rosenmüller, M.; Kuhlemann, M.; Kästner, C.; Apel, S.; Saake, G., SPL conqueror: toward optimization of nton-functional properties in software product lines, Softw. Qual. J., 20, 3-4, 487-517, (2012)
[48] Sincero, J.; Schröder-Preikschat, W.; Spinczyk, O., Approaching non-functional properties of software product lines: learning from products, (Proceedings of APSEC, (2010), IEEE Computer Society), 147-155
[49] Sinn, M.; Zuleger, F.; Veith, H., A simple and scalable static analysis for bound analysis and amortized complexity analysis, (Proceedings of CAV, Lect. Notes Comput. Sci., vol. 8559, (2014), Springer-Verlag), 745-761
[50] Soares, L.; Potema, P.; Machado, I.; Crnkovic, I.; Almeida, E., Analysis of non-functional properties in software product lines: a systematic review, (Proceedings Euromicro DSD/SEAA, (2014)), 328-335
[51] Soltani, S.; Asadi, M.; Hatala, M.; Gasevic, D.; Bagheri, E., Automated planning for feature model configuration based on stakeholders’ business concerns, (Proceedings of ASE, (2011), IEEE), 536-539
[52] Spoto, F.; Mesnard, F.; Payet, É., A termination analyzer for Java bytecode based on path-length, ACM Trans. Program. Lang. Syst., 32, 3, (2010)
[53] Than Tun, T.; Boucher, Q.; Classen, A.; Hubaux, A.; Heymans, P., Relating requirements and feature configurations: a systematic approach, (Proceedings of SPLC, (2009)), 201-210
[54] Thum, T.; Apel, S.; Kastner, C.; Schaefer, I.; Saake, G., A classification and survey of analysis strategies for software product lines, ACM Comput. Surv., 47, 1, 6:1-6:45, (2014)
[55] Villela, K.; Arif, T.; Zanardini, D., Towards product configuration taking into account quality concerns, (Workshop on Formal Methods and Analysis in Software Product Line Engineering (FMSPLE), Proc. SPLC, vol. 2, (2012), ACM Press), 82-90
[56] White, J.; Dougherty, B.; Schmidt, D., Selecting highly optimal architectural feature sets with filtered Cartesian flattening, J. Syst. Softw., 82, 8, 1268-1284, (2009)
[57] White, J.; Dougherty, B.; Schmidt, D.; Benavides, D., Automated reasoning for multi-step feature model configuration problems, (Proceedings of SPLC, (2009)), 11-20
[58] White, J.; Galindo, J. A.; Saxena, T.; Dougherty, B.; Benavides, D.; Schmidt, D. C., Evolving feature model configurations in software product lines, J. Syst. Softw., 87, 119-136, (2014)
[59] Zhang, G.; Ye, H.; Lin, Y., Quality attribute modeling and quality aware product configuration in software product lines, Softw. Qual. J., 22, 3, 365-401, (2014)
[60] Zhang, H.; Jarzabek, S.; Yang, B., Quality prediction and assessment for product lines, (Proceedings of CAiSE, (2003), Springer-Verlag), 681-695
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.