Skip to main content

Using Ant Colony Optimisation to Select Features Having Associated Costs

  • Conference paper
  • First Online:
Testing Software and Systems (ICTSS 2021)

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Andrés, C., Camacho, C., Llana, L.: A formal framework for software product lines. Inf. Softw. Technol. 55(11), 1925–1947 (2013)

    Article  Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. 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)

    Google Scholar 

  4. Camacho, C., Llana, L., Núñez, A.: Cost-related interface for software product lines. J. Log. Algebraic Methods Program. 85(1), 227–244 (2016)

    Article  MathSciNet  Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Article  MathSciNet  Google Scholar 

  9. Dorigo, M., Stützle, T.: Ant Colony Optimization. MIT Press, Cambridge (2004)

    Book  Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. 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

    Article  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. Hierons, R.M., Merayo, M.G., Núñez, M.: Bounded reordering in the distributed test architecture. IEEE Trans. Reliab. 67(2), 522–537 (2018)

    Article  Google Scholar 

  16. Hierons, R.M., Núñez, M.: Implementation relations and probabilistic schedulers in the distributed test architecture. J. Syst. Softw. 132, 319–335 (2017)

    Article  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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

    Article  Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. 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

    Chapter  Google Scholar 

  27. 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)

    Article  Google Scholar 

  28. 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)

    Google Scholar 

  29. 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

    Chapter  Google Scholar 

  30. 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

    Article  Google Scholar 

  31. 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)

    Google Scholar 

  32. 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)

    Google Scholar 

  33. 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

    Chapter  Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Article  Google Scholar 

  36. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Alfredo Ibias .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics