Applying Incremental Model Slicing to Product-Line Regression Testing

  • Sascha Lity
  • Thomas Morbach
  • Thomas Thüm
  • Ina Schaefer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9679)

Abstract

One crucial activity in software product line (SPL) testing is the detection of erroneous artifact interactions when combined for a variant. This detection is similar to the retest test-case selection problem in regression testing, where change impact analysis is applied to reason about changed dependencies to be retested. In this paper, we propose automated change impact analysis based on incremental model slicing for incremental SPL testing. Incremental slicing allows for a slice computation by adapting a previous slice with explicit derivation of their differences by taking model changes into account. We apply incremental slicing to determine the impact of applied model changes and to reason about their potential retest. Based on our novel retest coverage criterion, each slice change specifies a retest test goal to be covered by existing test cases selected for retesting. We prototypically implemented our approach and evaluated its applicability and effectiveness by means of four SPLs.

Keywords

Software product line Model-based testing Regression testing Model slicing 

References

  1. 1.
    Agrawal, H., Horgan, J.R., Krauser, E.W., London, S.: Incremental regression testing. In: ICSM 1993, pp. 348–357. IEEE Computer Society (1993)Google Scholar
  2. 2.
    Aichernig, B.K., Brandl, H., Jöbstl, E., Krenn, W., Schlick, R., Tiran, S.: Killing strategies for model-based mutation testing. Softw. Test. Verif. Reliab. 25(8), 716–748 (2014)CrossRefGoogle Scholar
  3. 3.
    Al-Hajjaji, M., Thüm, T., Meinicke, J., Lochau, M., Saake, G.: Similarity-based prioritization in software product-line testing. In: SPLC 2014, pp. 197–206 (2014)Google Scholar
  4. 4.
    Androutsopoulos, K., Clark, D., Harman, M., Krinke, J., Tratt, L.: State-based model slicing: a survey. ACM Comput. Surv. 45(4), 53:1–53:36 (2013)CrossRefGoogle Scholar
  5. 5.
    Baller, H., Lity, S., Lochau, M., Schaefer, I.: Multi-objective test suite optimization for incremental product family testing. In: ICST 2014, pp. 303–312 (2014)Google Scholar
  6. 6.
    Baller, H., Lochau, M.: Towards incremental test suite optimization for software product lines. In: FOSD 2014, pp. 30–36. ACM (2014)Google Scholar
  7. 7.
    Bates, S., Horwitz, S.: Incremental program testing using program dependence graphs. In: POPL 1993, pp. 384–396. ACM (1993)Google Scholar
  8. 8.
    Binkley, D.: The application of program slicing to regression testing. Inf. Softw. Technol. 40(1112), 583–594 (1998)CrossRefGoogle Scholar
  9. 9.
    Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. In: GPCE 2010, pp. 13–22 (2010)Google Scholar
  10. 10.
    Classen, A.: Modelling with FTS: a collection of illustrative examples. Technical report P-CS-TR SPLMC-00000001, PReCISE Research Center, University of Namur (2010)Google Scholar
  11. 11.
    Da Mota Silveira Neto, P., do Carmo Machado, I., Cavalcanti, Y., de Almeida, E., Garcia, V., de Lemos Meira, S.: A regression testing approach forsoftware product lines architectures. In: SBCARS 2010, pp. 41–50 (2010)Google Scholar
  12. 12.
    Dukaczewski, M., Schaefer, I., Lachmann, R., Lochau, M.: Requirements-based delta-oriented SPL testing. In: PLEASE 2013, pp. 49–52 (2013)Google Scholar
  13. 13.
    Engström, E.: Exploring regression testing and software product line testing - research and state of practice. LIC dissertation, Lund University (2010)Google Scholar
  14. 14.
    Gupta, R., Harrold, M.J., Soffa, L.: Program slicing-based regression testing techniques. Softw. Test. Verif. Reliab. 6, 83–112 (1996)CrossRefGoogle Scholar
  15. 15.
    Harrold, M.J.: Testing: a roadmap. In: ICSE 2000, pp. 61–72. ACM (2000)Google Scholar
  16. 16.
    Henard, C., Papadakis, M., Perrouin, G., Klein, J., Heymans, P., Traon, Y.L.: 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)CrossRefGoogle Scholar
  17. 17.
    Jeffrey, D., Gupta, R.: Test case prioritization using relevant slices. In: COMPSAC 2006, vol. 1, pp. 411–420 (2006)Google Scholar
  18. 18.
    Wang, J., Dong, W., Qi, Z.-C.: Slicing hierarchical automata for model checking UML statecharts. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 435–446. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  19. 19.
    Johansen, M.F., Haugen, O., Fleurey, F.: An algorithm for generating t-wise covering arrays from large feature models. In: SPLC 2012, pp. 46–55. ACM (2012)Google Scholar
  20. 20.
    Kamischke, J., Lochau, M., Baller, H.: Conditioned model slicing of feature-annotated state machines. In: FOSD 2012, pp. 9–16 (2012)Google Scholar
  21. 21.
    Korel, B., Tahat, L., Vaysburg, B.: Model-based regression test reduction using dependence analysis. In: ICSM 2002, pp. 214–223 (2002)Google Scholar
  22. 22.
    Lachmann, R., Lity, S., Lischke, S., Beddig, S., Schulze, S., Schaefer, I.: Delta-oriented test case prioritization for integration testing of software product lines. In: SPLC 2015, pp. 81–90 (2015)Google Scholar
  23. 23.
    Lee, J., Kang, S., Lee, D.: A survey on software product line testing. In: SPLC 2012, pp. 31–40. ACM (2012)Google Scholar
  24. 24.
    Lity, S., Baller, H., Schaefer, I.: Towards incremental model slicing for delta-oriented software product lines. In: SANER 2015, pp. 530–534 (2015)Google Scholar
  25. 25.
    Lochau, M., Lity, S., Lachmann, R., Schaefer, I., Goltz, U.: Delta-oriented model-based Integration testing of large-scale systems. J. Syst. Softw. 91, 63–84 (2014)CrossRefGoogle Scholar
  26. 26.
    Lochau, M., Schaefer, I., Kamischke, J., Lity, S.: Incremental model-based testing of delta-oriented software product lines. In: Brucker, A.D., Julliand, J. (eds.) TAP 2012. LNCS, vol. 7305, pp. 67–82. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  27. 27.
    McGregor, J.D.: Testing a software product line. Technical report CMU/SEI-2001-TR-022, Carnegie Mellon University (2001)Google Scholar
  28. 28.
    da Mota Silveira Neto, P.A., Carmo Machado, I.D., McGregor, J.D., de Almeida, E.S., de Lemos Meira, S.R.: A systematic mapping study of software product lines testing. Inf. Softw. Technol. 53, 407–423 (2011)CrossRefGoogle Scholar
  29. 29.
    Muccini, H., van der Hoek, A.: Towards testing product line architectures. Electron. Notes Theor. Comput. Sci. 82(6), 99–109 (2003). TACoS 2003CrossRefGoogle Scholar
  30. 30.
    Oster, S., Wübbeke, A., Engels, G., Schürr, A.: A survey of model-based software product lines testing. In: Zander, J., Schieferdecker, I., Mosterman, P.J. (eds.) Model-Based Testing for Embedded Systems, pp. 338–381. CRC Press, Boca Raton (2011)Google Scholar
  31. 31.
    Pohl, K., Böckle, G., Linden, F.J.V.D.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heldelberg (2005)CrossRefMATHGoogle Scholar
  32. 32.
    Qu, X., Cohen, M.B., Rothermel, G.: Configuration-aware regression testing: an empirical study of sampling and prioritization. In: ISSTA 2008, pp. 75–86 (2008)Google Scholar
  33. 33.
    Runeson, P., Engström, E.: Chapter 7-regression testing in software product line engineering. Adv. Comput. 86, 223–263 (2012). ElsevierCrossRefGoogle Scholar
  34. 34.
    Runeson, P., Engström, E.: Software product line testing - a 3D regression testing problem. In: ICST 2012, pp. 742–746. IEEE (2012)Google Scholar
  35. 35.
    Tao, C., Li, B., Sun, X., Zhang, C.: An approach to regression test selection based on hierarchical slicing technique. In: COMPSACW 2010, pp. 347–352 (2010)Google Scholar
  36. 36.
    Ural, H., Yenigün, H.: Regression test suite selection using dependence analysis. J. Softw.: Evol. Process 25(7), 681–709 (2013)MATHGoogle Scholar
  37. 37.
    Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., Burlington (2006)Google Scholar
  38. 38.
    Uzuncaova, E., Khurshid, S., Batory, D.: Incremental test generation for software product lines. IEEE Trans. Softw. Eng. 36(3), 309–322 (2010)CrossRefGoogle Scholar
  39. 39.
    Varshosaz, M., Beohar, H., Mousavi, M.R.: Delta-oriented FSM-based testing. In: Butler, N., Conchon, S., Zaïdi, F. (eds.) ICFEM 2015. LNCS, vol. 9407, pp. 366–381. Springer, Switzerland (2015). doi:10.1007/978-3-319-25423-4_24 CrossRefGoogle Scholar
  40. 40.
    Wehrheim, H.: Incremental slicing. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 514–528. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  41. 41.
    Weiser, M.: Program slicing. In: ICSE 1981, pp. 439–449 (1981)Google Scholar
  42. 42.
    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2007)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Sascha Lity
    • 1
  • Thomas Morbach
    • 1
  • Thomas Thüm
    • 2
  • Ina Schaefer
    • 2
  1. 1.Institute for Programming and Reactive SystemsTU BraunschweigBraunschweigGermany
  2. 2.Institute of Software Engineering and Automotive InformaticsTU BraunschweigBraunschweigGermany

Personalised recommendations