skip to main content
article

Efficient testing of software product lines via centralization (short paper)

Published:15 September 2014Publication History
Skip Abstract Section

Abstract

Software product line~(SPL) engineering manages families of software products that share common features. However, cost-effective test case generation for an SPL is challenging. Applying existing test case generation techniques to each product variant separately may test common code in a redundant way. Moreover, it is difficult to share the test results among multiple product variants. In this paper, we propose the use of centralization, which combines multiple product variants from the same SPL and generates test cases for the entire system. By taking into account all variants, our technique generally avoids generating redundant test cases for common software components. Our case study on three SPLs shows that compared with testing each variant independently, our technique is more efficient and achieves higher test coverage.

References

  1. E. Bruneton, R. Lenglet, and T. Coupaye. ASM: A code manipulation tool to implement adaptable systems. In In Adaptable and extensible component systems, 2002.Google ScholarGoogle Scholar
  2. I. Cabral, M. B. Cohen, and G. Rothermel. Improving the testing and testability of software product lines. In Proc. 14th Int. Conf. on Software Product Lines, SPLC’10, pages 241–255, South Korea, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. I. do Carmo Machado, J. D. McGregor, and E. Santana de Almeida. Strategies for testing products in software product lines. SIGSOFT Softw. Eng. Notes, 37(6):1–8, Nov. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Hamlet. Random testing. In J. Marciniak, editor, Encyclopedia of Software Engineering, pages 970–978. Wiley, 1994.Google ScholarGoogle Scholar
  5. H. Jaygarl, S. Kim, T. Xie, and C. K. Chang. Ocat: Object capturebased automated testing. In Proc. 19th Int. Symposium on Software Testing and Analysis, ISSTA ’10, pages 159–170, Italy, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. F. Johansen, O. Haugen, and F. Fleurey. An algorithm for generating t-wise covering arrays from large feature models. In Proc. 16th Int. Software Product Line Conf., SPLC ’12, pages 46–55, Brazil, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. Kästner, A. von Rhein, S. Erdweg, J. Pusch, S. Apel, T. Rendel, and K. Ostermann. Toward variability-aware testing. In Proc. 4th Int. Workshop on Feature-Oriented Software Development, FOSD ’12, pages 1–8, Dresden, Germany, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. H. P. Kim, D. S. Batory, and S. Khurshid. Reducing combinatorics in testing product lines. In Proc. Tenth Int. Conf. on Aspect-oriented Software Development, AOSD ’11, pages 57–68, Brazil, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Lindholm, F. Yellin, G. Bracha, and A. Buckley. The Java Virtual Machine Specification, Java SE 7 Edition. Addi. Wesl. Prof., 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. Ma, C. Artho, and H. Sato. Analyzing distributed Java applications by automatic centralization. In Computer Softw. and Applications Conf. Workshops, COMPSACW’13, pages 691–696, Japan, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. Ma, C. Artho, and H. Sato. Project centralization based on graph coloring. In Proc. ACM 29th Annual Symposium on Applied Computing, SAC’14, pages 1086–1093, South Korea, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Oster, F. Markert, and P. Ritter. Automated incremental pairwise testing of software product lines. In Proc. 14th Int. Conf. on Software Product Lines, SPLC’10, pages 196–210, South Korea, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Pacheco and M. Ernst. Randoop: Feedback-directed random testing for Java. In Companion to the 22nd ACM SIGPLAN Conf. on Object-oriented Programming Systems and Applications Companion, OOPSLA’07, pages 815–816, Canada, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. C. Paul and N. Linda. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Shi, M. B. Cohen, and M. B. Dwyer. Integration testing of software product lines using compositional symbolic execution. In Proc. 15th Int. Conf. on Fundamental Approaches to Software Engineering, FASE’12, pages 270–284, Estonia, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. D. Stoller and Y. A. Liu. Transformations for model checking distributed Java programs. In Proc. 8th Int. SPIN workshop on Model checking of software, SPIN ’01, pages 192–199, Canada, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Z. Xu, M. B. Cohen, W. Motycka, and G. Rothermel. Continuous test suite augmentation in software product lines. In Proc. 17th Int. Softw. Product Line Conf., SPLC ’13, pages 52–61, Japan, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Zhang, D. Saff, Y. Bu, and M. D. Ernst. Combined static and dynamic automated test generation. In Proc. Int. Symp. on Softw. Testing and Analysis, ISSTA ’11, pages 353–363, Canada, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Efficient testing of software product lines via centralization (short paper)

    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

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 50, Issue 3
      GPCE '14
      March 2015
      141 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2775053
      • Editor:
      • Andy Gill
      Issue’s Table of Contents
      • cover image ACM Conferences
        GPCE 2014: Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences
        September 2014
        141 pages
        ISBN:9781450331616
        DOI:10.1145/2658761

      Copyright © 2014 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 15 September 2014

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!