skip to main content
10.1145/2377816.2377817acmotherconferencesArticle/Chapter ViewAbstractPublication PagesfosdConference Proceedingsconference-collections
research-article

Toward variability-aware testing

Published:24 September 2012Publication History

ABSTRACT

We investigate how to execute a unit test for all products of a product line without generating each product in isolation in a brute-force fashion. Learning from variability-aware analyses, we (a) design and implement a variability-aware interpreter and, alternatively, (b) reencode variability of the product line to simulate the test cases with a model checker. The interpreter internally reasons about variability, executing paths not affected by variability only once for the whole product line. The model checker achieves similar results by reusing powerful off-the-shelf analyses. We experimented with a prototype implementation for each strategy. We compare both strategies and discuss trade-offs and future directions. In the long run, we aim at finding an efficient testing approach that can be applied to entire product lines with millions of products.

References

  1. S. Apel, C. Kästner, A. Größlinger, and C. Lengauer. Type safety for feature-oriented product lines. Automated Software Engineering, 17(3):251--300, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel, H. Speidel, P. Wendler, A. von Rhein, and D. Beyer. Detection of feature interactions using feature-aware verification. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 372--375. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Bodden. Position paper: Static flow-sensitive & context-sensitive information-flow analysis for software product lines. In Workshop on Programming Languages and Analysis for Security (PLAS), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Brabrand, M. Ribeiro, T. Tolêdo, and P. Borba. Intraprocedural dataflow analysis for software product lines. In Proc. Int'l Conf. Aspect-Oriented Software Development (AOSD), pages 13--24. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. I. Cabral, M. B. Cohen, and G. Rothermel. Improving the testing and testability of software product lines. In Proc. Int'l Software Product Line Conference (SPLC), volume 6287 of LNCS, pages 241--255. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Cadar, P. Godefroid, S. Khurshid, C. S. Păsăreanu, K. Sen, N. Tillmann, and W. Visser. Symbolic execution for software testing in practice: Preliminary assessment. In Proc. Int'l Conf. Software Engineering (ICSE), pages 1066--1071. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Chen, M. Erwig, and E. Walkingshaw. Extending type inference to variational programs. Technical report (draft), School of EECS, Oregon State University, 2012.Google ScholarGoogle Scholar
  8. H. Cichos, S. Oster, M. Lochau, and A. Schürr. Model-based coverage-driven test suite generation for software product lines. In Proc. Int'l Conf. Model Driven Engineering Languages and Systems (MoDELS), volume 6981 of LNCS, pages 425--439. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Classen, P. Heymans, P.-Y. Schobbens, A. Legay, and J.-F. Raskin. Model checking lots of systems: Efficient verification of temporal properties in software product lines. In Proc. Int'l Conf. Software Engineering (ICSE), pages 335--344. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley, New York, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Erwig and E. Walkingshaw. The choice calculus: A representation for software variation. ACM Trans. Softw. Eng. Methodol. (TOSEM), 21(1):Article 6, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Erwig and E. Walkingshaw. Variation programming with the choice calculus. In Proc. Int'l Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE), 2011.Google ScholarGoogle Scholar
  13. C. Kästner, S. Apel, T. Thüm, and G. Saake. Type checking annotation-based product lines. ACM Trans. Softw. Eng. Methodol. (TOSEM), 21(3), 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-aware parsing in the presence of lexical macros and conditional compilation. In Proc. Int'l Conf. Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 805--824. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. H. P. Kim, D. S. Batory, and S. Khurshid. Reducing combinatorics in testing product lines. In Proc. Int'l Conf. Aspect-Oriented Software Development (AOSD), pages 57--68. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. R. Kuhn, D. R. Wallace, and A. M. Gallo. Software fault interactions and implications for software testing. IEEE Trans. Softw. Eng. (TSE), 30:418--421, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K. Lauenroth, K. Pohl, and S. Toehning. Model checking of domain artifacts in product line engineering. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 269--280. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Lochau, I. Schaefer, J. Kamischke, and S. Lity. Incremental model-based testing of delta-oriented software product lines. In Proc. Int'l Conf. Tests and Proofs (TAP), volume 7305 of LNCS, pages 67--82. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Lopez-Herrejon and D. Batory. A standard problem for evaluating product-line methodologies. In Proc. Int'l Conf. Generative and Component-Based Software Engineering (GCSE), volume 2186 of LNCS, pages 10--24. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Oster, F. Markert, and P. Ritter. Automated incremental pairwise testing of software product lines. In Proc. Int'l Software Product Line Conference (SPLC), volume 6287 of LNCS, pages 196--210. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. G. Perrouin, S. Sen, J. Klein, B. Baudry, and Y. le Traon. Automated and scalable t-wise test case generation strategies for software product lines. In Proc. Int'l Conf. Software Testing, Verification, and Validation, pages 459--468. IEEE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin/Heidelberg, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Post and C. Sinz. Configuration lifting: Verification meets software configuration. In Proc. Int'l Conf. Automated Software Engineering (ASE), pages 347--350. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Shi, M. Cohen, and M. Dwyer. Integration testing of software product lines using compositional symbolic execution. In Proc. Int'l Conf. Fundamental Approaches to Software Engineering, volume 7212 of LNCS, pages 270--284. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Thaker, D. Batory, D. Kitchin, and W. Cook. Safe composition of product lines. In Proc. Int'l Conf. Generative Programming and Component Engineering (GPCE), pages 95--104. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Thüm, S. Apel, C. Kästner, M. Kuhlemann, I. Schaefer, and G. Saake. Analysis strategies for software product lines. Technical Report FIN-004-2012, School of Computer Science, University of Magdeburg, 2012.Google ScholarGoogle Scholar
  27. T. Thüm, I. Schaefer, S. Apel, and M. Hentschel. Family-based deductive verification of software product lines. In Proc. Int'l Conf. Generative Programming and Component Engineering (GPCE). ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. E. Uzuncaova, D. Garcia, S. Khurshid, and D. Batory. A specification-based approach to testing software product lines. In Proc. Europ. Software Engineering Conf./Foundations of Software Engineering (ESEC/FSE), pages 525--528. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. W. Visser, K. Havelund, G. P. Brat, S. Park, and F. Lerda. Model checking programs. Autom. Softw. Eng., 10(2):203--232, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. von Rhein, S. Apel, and F. Raimondi. Introducing binary decision diagrams in the explicit-state verification of Java code. In Proc. Java Pathfinder Workshop, 2011.Google ScholarGoogle Scholar
  1. Toward variability-aware testing

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          FOSD '12: Proceedings of the 4th International Workshop on Feature-Oriented Software Development
          September 2012
          81 pages
          ISBN:9781450313094
          DOI:10.1145/2377816

          Copyright © 2012 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 24 September 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate17of28submissions,61%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader