Abstract
Software Product Lines (SPLs) strongly facilitate the automation of software development processes. They combine features to create programs (called products) that fulfil certain properties. Testing SPLs is an intensive process where choosing the proper products to include in the testing process can be a critical task. In fact, selecting the best combination of features from an SPL is a complex problem that is frequently addressed in the literature. In this paper we use evolutionary algorithms to find a combination of features with low testing cost that include a target feature, to facilitate the integration testing of such feature. Specifically, we use an Ant Colony Optimisation algorithm to find one of the cheapest (in terms of testing) combination of features that contains a specific feature. Our results show that our framework overcomes the limitations of both brute force and random search algorithms.
This work has been supported by the Spanish MINECO/FEDER project FAME (RTI2018-093608-B-C31); the Region of Madrid project FORTE-CM (S2018/TCS-4314) co-funded by EIE Funds of the European Union; and the Santander - Complutense University of Madrid (grant number CT63/19-CT64/19).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Andrés, C., Camacho, C., Llana, L.: A formal framework for software product lines. Inf. Softw. Technol. 55(11), 1925–1947 (2013)
Benavides, D., Trinidad, P., Ruiz Cortés, A., Segura, S.: FaMa. In: Capilla, R., Bosch, J., Kang, K.C. (eds.) Systems and Software Variability Management - Concepts, Tools and Experiences, pp. 163–171. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36583-6_11
Benito-Parejo, M., Merayo, M.G.: An evolutionary algorithm for selection of test cases. In: 22nd IEEE Congress on Evolutionary Computation, CEC 2020, pp. E-24535: 1–8. IEEE Computer Society (2020)
Camacho, C., Llana, L., Núñez, A.: Cost-related interface for software product lines. J. Log. Algebraic Methods Program. 85(1), 227–244 (2016)
Campos, J., Ge, Y., Albunian, N., Fraser, G., Eler, M., Arcuri, A.: An empirical evaluation of evolutionary algorithms for unit test suite generation. Inf. Softw. Technol. 104, 207–235 (2018)
Cañizares, P.C., Núñez, A., de Lara, J., Llana, L.: MT-EA4Cloud: a methodology for testing and optimising energy-aware cloud systems. J. Syst. Softw. 163, 110522:1–25 (2020)
do Carmo Machado, I., da Mota Silveira Neto, P.A., Santana de Almeida, E.: Towards an integration testing approach for software product lines. In: IEEE 13th International Conference on Information Reuse & Integration, IRI 2012, pp. 616–623. IEEE (2012)
Chrszon, P., Dubslaff, C., Klüppelholz, S., Baier, C.: ProFeat: feature-oriented engineering for family-based probabilistic model checking. Formal Aspects Comput. 30(1), 45–75 (2017). https://doi.org/10.1007/s00165-017-0432-4
Dorigo, M., Stützle, T.: Ant Colony Optimization. MIT Press, Cambridge (2004)
Eriksson, M., Börstler, J., Borg, K.: The PLUSS approach – domain modeling with features, use cases and use case realizations. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 33–44. Springer, Heidelberg (2005). https://doi.org/10.1007/11554844_5
Gómez-Abajo, P., Guerra, E., Lara, J., Merayo, M.G.: Wodel-test: a model-based framework for language-independent mutation testing. Softw. Syst. Model. 20(3), 767–793 (2020). https://doi.org/10.1007/s10270-020-00827-0
Griss, M., Favaro, J., D’Alessandro, M.: Integrating feature modeling with the RSEB. In: 5th International Conference on Software Reuse, ICSR 1998, pp. 76–85. IEEE Computer Society (1998)
Henard, C., Papadakis, M., Perrouin, G., Klein, J., Heymans, P., Le Traon, Y.: Bypassing the combinatorial explosion: using similarity to generate and prioritize T-Wise test configurations for software product lines. IEEE Trans. Softw. Eng. 40(7), 650–670 (2014)
Hierons, R.M., Li, M., Liu, X., Segura, S., Zheng, W.: SIP: optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Softw. Eng. Methodol. 25(2), 17:1–17:39 (2016)
Hierons, R.M., Merayo, M.G., Núñez, M.: Bounded reordering in the distributed test architecture. IEEE Trans. Reliab. 67(2), 522–537 (2018)
Hierons, R.M., Núñez, M.: Implementation relations and probabilistic schedulers in the distributed test architecture. J. Syst. Softw. 132, 319–335 (2017)
Ibias, A., Griñán, D., Núñez, M.: GPTSG: a genetic programming test suite generator using information theory measures. In: Rojas, I., Joya, G., Catala, A. (eds.) IWANN 2019. LNCS, vol. 11506, pp. 716–728. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-20521-8_59
Ibias, A., Llana, L.: Feature selection using evolutionary computation techniques for software product line testing. In: 22nd IEEE Congress on Evolutionary Computation, CEC 2020, pp. E-24502:1–8. IEEE Computer Society (2020)
Ibias, A., Núñez, M.: Using a swarm to detect hard-to-kill mutants. In: 2020 IEEE International Conference on Systems, Man and Cybernetics, SMC 2020, pp. 2190–2195. IEEE Computer Society (2020)
Ibias, A., Vazquez-Gomis, P., Benito-Parejo, M.: Coverage-based grammar-guided genetic programming generation of test suites. In: 23rd IEEE Congress on Evolutionary Computation, CEC 2021, pp. 2411–2418. IEEE (2021)
Jaffar-ur Rehman, M., Jabeen, F., Bertolino, A., Polini, A.: Testing software components for integration: a survey of issues and techniques. Softw. Test. Verification Reliab. 17(2), 95–133 (2007)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report CMU/SEI-90-TR-21, Carnegie Mellon University (1990)
Karaboga, D., Akay, B.: A survey: algorithms simulating bee swarm intelligence. Artif. Intell. Rev. 31(1), 61–85 (2009). https://doi.org/10.1007/s10462-009-9127-4
Lachmann, R., Beddig, S., Lity, S., Schulze, S., Schaefer, I.: Risk-based integration testing of software product lines. In: 11th International Workshop on Variability Modelling of Software-Intensive Systems, VaMoS 2017, pp. 52–59. ACM Press (2017)
Lopez-Herrejon, R.E., Ferrer, J., Chicano, F., Egyed, A., Alba, E.: Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of software product lines. In: 16th IEEE Congress on Evolutionary Computation, CEC 2014, pp. 387–396. IEEE (2014)
McGregor, J.D.: Testing a software product line. In: Borba, P., Cavalcanti, A., Sampaio, A., Woodcook, J. (eds.) PSSE 2007. LNCS, vol. 6153, pp. 104–140. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14335-9_4
Núñez, A., Cañizares, P.C., Núñez, M., Hierons, R.M.: TEA-Cloud: a formal framework for testing cloud computing systems. IEEE Trans. Reliab. 70(1), 261–284 (2021)
Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Traon, Y.L., Harman, M.: Mutation testing advances: an analysis and survey. In: Volume 112 of Advances in Computers, pp. 275–378. Elsevier (2019)
Reis, S., Metzger, A., Pohl, K.: Integration testing in software product line engineering: a model-based technique. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 321–335. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71289-3_25
Rodrigues, D.S., Delamaro, M.E., Corrêa, C.G., Nunes, F.L.S.: Using genetic algorithms in test data generation: a critical systematic mapping. ACM Comput. Surv. 51(2), 1–23 (2018). Article 41
Sayyad, A.S., Ingram, J., Menzies, T., Ammar, H.H.: Optimum feature selection in software product lines: let your model and values guide your search. In: 1st International Workshop on Combining Modelling and Search-Based Software Engineering, CMSBSE 2013, pp. 22–27. IEEE Computer Society (2013)
Segura, S., Galindo, J.A., Benavides, D., Parejo, J.A., Ruiz-Cortés, A.: BeTTy: benchmarking and testing on the automated analysis of feature models. In: 6th International Workshop on Variability Modeling of Software-Intensive Systems, VaMoS 2012, pp. 63–71 (2012)
Shi, J., Cohen, M.B., Dwyer, M.B.: Integration testing of software product lines using compositional symbolic execution. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 270–284. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28872-2_19
Steindl, M., Mottok, J.: Optimizing software integration by considering integration test complexity and test effort. In: 10th International Workshop on Intelligent Solutions in Embedded Systems, WISES 2012, pp. 63–68. IEEE Computer Society (2012)
Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)
Wang, D., Tan, D., Liu, L.: Particle swarm optimization algorithm: an overview. Soft. Comput. 22(2), 387–408 (2017). https://doi.org/10.1007/s00500-016-2474-6
Acknowledgements
We would like to thank the anonymous reviewers for the careful reading, the many constructive comments and the useful suggestions, which have helped us to further strengthen the paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Ibias, A., Llana, L., Núñez, M. (2022). Using Ant Colony Optimisation to Select Features Having Associated Costs. In: Clark, D., Menendez, H., Cavalli, A.R. (eds) Testing Software and Systems. ICTSS 2021. Lecture Notes in Computer Science, vol 13045. Springer, Cham. https://doi.org/10.1007/978-3-031-04673-5_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-04673-5_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-04672-8
Online ISBN: 978-3-031-04673-5
eBook Packages: Computer ScienceComputer Science (R0)